{"version":3,"sources":["Helper/ReplaceSpecialChar.tsx","Services/RequestControlService.tsx","Services/UploadFileService.tsx","Services/AttachFileService.tsx","components/TextHeaderComponents/TextHeaderComponents.tsx","constants/logic-type.ts","Helper/FormatDateTime.tsx","Helper/formatKeyLogicData.ts","Helper/RequestScreenHelper.tsx","components/AntdControlComponent/InputControlComponent/InputControlComponent.tsx","Context/AlertContext.tsx","Helper/formatColumn.tsx","components/AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent.tsx","components/AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent.tsx","components/AntdControlComponent/RadioControlComponent/RadioControlComponent.tsx","components/AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent.tsx","components/AntdControlComponent/MainCheckboxControl/CheckboxComponent.tsx","components/AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent.tsx","components/AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentModal.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent.tsx","Context/UserContext.tsx","Helper/RequestRefFunctions.tsx","hooks/useAlert.tsx","Services/DynamicService.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponent.tsx","components/ControlComponents/SummaryComponent/SummaryComponent.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponentTest.tsx","components/AntdControlComponent/TableComponent/TableComponent.tsx","components/AntdControlComponent/TableComponent/MoveToDialog.tsx","components/AntdControlComponent/TableComponent/TableFooter.tsx","components/AntdControlComponent/TableComponent/ExcelTablePreview.tsx","Services/LineApprovalsService.tsx","components/AntdControlComponent/AutoNumberFix/AutoNumberFix.tsx","components/ControlComponents/ButtonComponent/ButtonComponent.tsx","components/ControlComponents/EditorComponent/EditorComponent.tsx","components/ControlComponents/EmptyComponent/EmptyComponent.tsx","components/ControlComponents/ImageComponent/ImageComponent.tsx","components/ControlComponents/MainCheckboxComponents/MainCheckboxComponents.tsx","components/ControlComponents/MainTextComponents/HeadingComponent/HeadingComponent.tsx","components/ControlComponents/MainTextComponents/TextComponent/TextComponent.tsx","components/ControlComponents/MainTextComponents/MainTextComponents.tsx","components/RequestComponents/CoreControllerComponent/Controls.tsx","components/InputTextComponents/InputTextComponents.tsx","Helper/GenerateGuid.tsx","Services/MemoService.tsx","Services/ConfigurationService.tsx","components/ButtonNav/ButtonNavigation.tsx","IRequestModel/IAuthModel.tsx","Context/AuthContext.tsx","Services/EmployeeService.tsx","Services/PositionService.tsx","Services/DepartmentService.tsx","components/SettingDialogComponents/EmployeeDialog/EmplyeeDialog.tsx","Helper/localStoreFunction.ts","components/ButtonNav/ButtonNavigationDropdown.tsx","Services/NavBarMenuService.tsx","components/NavigationBar/ChangePasswordModal.tsx","Services/AppSettingService.tsx","components/SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed.tsx","components/NavigationBar/NavigationBar.tsx","Services/LoginService.tsx","Context/LoadContext.tsx","hooks/useLoading.tsx","screens/LoginScreen/LoginScreen.tsx","Helper/DeleteAllCookie.ts","azure/zure-authentication-config.ts","azure/azure-authentication-context.ts","screens/LoginScreen/LoginScreenAzure.tsx","components/FooterComponents/FooterComponents.tsx","components/ButtonComponents/ButtonComponents.tsx","assets/bin-icon.png","assets/edit-icon.png","Services/ApprovalMatrixService.tsx","components/SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog.tsx","components/SettingDialogComponents/CompanyDialog/CompanyDialog.tsx","components/SettingDialogComponents/Department/DepartmentDialog.tsx","components/SettingDialogComponents/DivisionDialog/DivisionDialog.tsx","components/SettingDialogComponents/MasterDataDialog/MasterDataDialog.tsx","components/SettingDialogComponents/MenuDialog/MenuDialog.tsx","components/SettingDialogComponents/PositionDialog/PositionDialog.tsx","Services/RoleServices.tsx","components/SettingDialogComponents/RoleDialog/RoleDialog.tsx","components/DropdownComponents/DropdownComponents.tsx","components/TableComponents/Dynamic/DynamicDialog.tsx","components/TableComponents/Dynamic/DialogList.tsx","components/TableComponents/Dynamic/DynamicTable.tsx","Services/TemplateService.tsx","components/TreeSelectNewRequest/TreeSelectNewRequest.tsx","assets/LoadingWOLFmini.gif","screens/Report/DynamicReport.tsx","components/AutoCompleteComponents/AutoCompleteComponents.tsx","components/RadioButtonComponents/RadioButtonComponents.tsx","components/SettingDialogComponents/ReportDialog/ReportDialog.tsx","screens/UnAuthorizePage/UnAurthorization.tsx","components/HOC/withPermission.tsx","components/ButtonComponents/SortingButton.tsx","Helper/SortingFunction.tsx","Helper/ExportExcel.tsx","components/TableComponents/DynamicTableFix/DynamicTable.tsx","Services/MasterDataService.tsx","components/ReportScreenComponent/SelectedFieldComponent.tsx","screens/Report/DynamicReportFix.tsx","screens/Report/ReportScreen.tsx","screens/WorkList/ShowContentScreen.tsx","components/WorklistScreenComponent/FlowCardComponent.tsx","screens/WorkList/FlowScreen.tsx","components/RequestComponents/HistoryComponent/HistoryComponent.tsx","screens/WorkList/HistoryScreen.tsx","components/WorklistScreenComponent/AttachmentCardComponent.tsx","screens/WorkList/AttachmentScreen.tsx","components/Input/CommentComponent.tsx","components/MemoButton/MemoButtonComponent.tsx","Services/ReviewPdfService.tsx","assets/ic_history.svg","assets/ic_attachment_file.svg","components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate.tsx","screens/WorkList/DetailContentScreen.tsx","components/Select/SelectDate.tsx","components/Select/MultiSelectDropdown.tsx","components/SearchFilterComponent/SearchFilterComponent.tsx","components/Select/SelectDropdown.tsx","screens/WorkList/WorkListSideBarElementUse.tsx","components/WorklistScreenComponent/WorklistCardComponent.tsx","Services/WorklistService.tsx","Services/HistoryService.tsx","Services/ApprovalService.tsx","screens/WorkList/WorkListScreen.tsx","screens/LoginScreen/LoginScreenOpenId.tsx","routes/PrivateRoute.tsx","components/ErrorPageComponent/ErrorPageComponent.tsx","components/CreateControlComponents/ButtonComponent/AddQueryComponent.tsx","components/CreateControlComponents/ButtonComponent/ButtonComponent.tsx","components/CreateControlComponents/AttachmentComponent/AttachmentComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AddConditionComponent.tsx","components/Button/Button.tsx","components/CreateControlComponents/AutoNumberComponent/AddPreFixComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AutoNumberComponent.tsx","components/CreateControlComponents/CalendarComponent/CalendarDefaultValueGroup.tsx","components/CreateControlComponents/CalendarComponent/CalendarComponent.tsx","components/CreateControlComponents/ChoiceComponent/ChoiceComponent.tsx","components/CreateControlComponents/MultiChoiceComponent/MultiChoiceComponent.tsx","components/CreateControlComponents/DropdownComponent/DropdownComponent.tsx","components/CreateControlComponents/EditorComponent/TemplateModal.tsx","components/CreateControlComponents/EditorComponent/EditorComponent.tsx","components/CreateControlComponents/HeadingComponent/HeadingComponent.tsx","components/CreateControlComponents/NumberComponent/NumberComponent.tsx","components/CreateControlComponents/RevisionComponent/AddConditionModal.tsx","components/CreateControlComponents/RevisionComponent/RevisionComponent.tsx","components/CreateControlComponents/ShortTextComponent/ShortTextComponent.tsx","components/CreateControlComponents/ModalCreateComponents/CreateControlSideBarElement.tsx","components/CreateControlComponents/TextAreaComponent/TextAreaComponent.tsx","components/CreateControlComponents/TableComponent/ColumnComponent.tsx","components/CreateControlComponents/TableComponent/ReferenceDocument.tsx","components/CreateControlComponents/TableComponent/FooterTableComponents.tsx","components/CreateControlComponents/TableComponent/TableComponent.tsx","components/CreateControlComponents/ImageComponents/ImageComponents.tsx","components/CreateControlComponents/ModalCreateComponents/ModalCreateComponents.tsx","components/TinyMceComponent/TinyMceComponent.tsx","components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectDataFormTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/AddMatrixCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix.tsx","components/CheckboxCpmponents/CheckboxCpmponents.tsx","components/TemplateDetailComponents/InformationComponents/InformationComponents.tsx","screens/TemplateDetailScreen/TemplateDetailSideBarElement.tsx","components/DataFechDialogComponents/EmployeeDialog/EmployeeDialog.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationTable/AuthorizationTable.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationModel/AuthorizationModel.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryTable/VersionAndHistoryTable.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents.tsx","Services/CompanyService.tsx","components/DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentDialogFix.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformationDialog.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation.tsx","Context/PDFEditorContext.tsx","hooks/usePDFEditor.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFCompontButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/TabsButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/ColorPicker.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFEditorToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticInput.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticImage.tsx","components/TemplateDetailComponents/PDFTemplateComponent/DropableComponent.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PaperLayout.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFTemplateComponent.tsx","screens/TemplateDetailScreen/TemplateDetailScreen.tsx","screens/ForgotPasswordScreen/ForgotPasswordScreen.tsx","screens/DelegateScreen/DelegateApplyTo.tsx","components/RequestComponents/AttachmentComponent/DescriptionConfigComponent.tsx","screens/DelegateScreen/DelegateInformation.tsx","screens/DelegateScreen/DelegateSideBar.tsx","screens/DelegateScreen/DelegateScreen.tsx","Services/EmailTemplateService.tsx","components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail.tsx","screens/SettingsSpecScreen/EmailTemplateDetailScreen.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineSideBar.tsx","screens/SettingScreen/SimLineApproveScreen/InitialComponent/InitialComponent.tsx","screens/SettingScreen/SimLineApproveScreen/ResultComponent/ResultComponent.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineApproveScreen.tsx","screens/DashboardScreen/DashboardCard/DashboardCard.tsx","screens/DashboardScreen/DashboardCalendar/DashboardCalendar.tsx","screens/DashboardScreen/DashboardTimeline/DashboardTimeline.tsx","Services/ProjectService.tsx","screens/DashboardScreen/DashboardScreen.tsx","Services/LogApiService.tsx","screens/LogApi/LogApi.tsx","components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList.tsx","screens/SettingsSpecScreen/EmailTemplateListScreen/EmailTemplateListScreen.tsx","components/RequestComponents/InformationComponent/LeaveTypeComponents/LeaveTypeComponents.tsx","components/RequestComponents/InformationComponent/InformationComponent.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent.tsx","components/RequestComponents/RequestorComponent/RequestorComponent.tsx","components/RequestComponents/AttachmentComponent/AttachmentComponent.tsx","screens/Request/RequestSideBarElement.tsx","components/MemoButton/MemoSingleButton.tsx","Services/AuthorizedService.tsx","screens/Request/RequestScreen.tsx","screens/TemplateDetailScreen/PreviewTemplateScreen.tsx","screens/LoginScreen/LoginGoogle.tsx","screens/RegisterWolfScreen/RegisterWolfScreen.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/TableRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/DialogRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/TemplateVersionComponent/TemplateVersionComponent.tsx","components/RequestComponents/InformationComponent/InformationComponentFix.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix.tsx","components/MemoButton/MemoButtonetcComponent.tsx","Helper/Validation.tsx","Context/AdminEditCompletedMemoPermissionContext.tsx","hooks/useAdminEditCompletedMemo.tsx","screens/Request/RequestScreenFix.tsx","Services/AcountService.tsx","components/SettingDialogComponents/AccountDialog/AccountDialog.tsx","components/TableComponents/DynamicTableFix/DynamicDialog.tsx","Services/UserManualService.tsx","components/SettingDialogComponents/UserManualDialog/UserManualDialog.tsx","components/TableComponents/DynamicTableFix/DialogListFix.tsx","Helper/matrixItemToString.tsx","screens/DelegateListScreen/DelegateListScreen.tsx","screens/SettingScreen/MasterDataScreen/MasterDatascreenFixed.tsx","screens/Report/ReportScreenFix.tsx","Services/TimeStampService.tsx","screens/TimeStamp/TimeStampScreen.tsx","utils/plugins/msdoc/index.tsx","components/PDFPreviewComponent/PDFPreviewComponent.tsx","screens/PreviewAttachmentScreen/PreviewAttachmentScreen.tsx","assets/correct.png","screens/RequestActionMemo/RequestActionMemo.tsx","screens/RejectBrowerScreen/RejectBrowser.tsx","screens/BudgetScreen/BudgetTrackingScreen.tsx","screens/Procurement/ProcurementTrackingScreen.tsx","routes/Routes.tsx","components/LoadComponent/LoadComponent.tsx","components/LoadComponent/LoadPackageComponent.tsx","assets/wolfLogo.png","App.tsx","registerServiceWorker.js","i18n.tsx","index.tsx","components/Select/SelectionDataDialog/SelectDataDialog.tsx","Services/ReportService.tsx","components/ControlComponents/ComponentLabel.tsx"],"names":["replaceSpecialChar","str","replace","GetAutoNumber","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requestBody","email","respone","wrap","_context","prev","next","window","localStorage","getItem","UserPrincipalName","fetch","method","headers","body","JSON","stringify","then","response","json","data","catch","err","sent","abrupt","stop","_x","apply","arguments","GetSaveRunningNumber","_ref2","_callee2","_context2","_x2","GetRvsRunning","_ref3","_callee3","_context3","_x3","CanAssignMoreThanOne","_ref4","_callee4","_context4","result","console","error","CanRequestCommentMoreThanOne","_ref5","_callee5","_context5","UploadTinyMce","dataJson","axios","url","log","UploadFileRenderControl","GetAllAttachFiles","UploadFileAttachFiles","errUploadAttach","GetPort","errUpload","TextHeaderComponents","props","useEffect","_jsxs","className","children","isRequir","style","display","alignItems","_jsx","fontSize","lineHeight","marginBottom","color","fontWeight","textHeaderProps","undefined","colorProps","textSubProps","LogicType","formatDateTime","value","originFormat","someDateString","moment","format","getDateFormat","dateFormat","date","symbol","concat","time","use","useSecond","getTimeFormat","formatKeyLogicData","logicData","_logicData","unshift","item","_loop","k","keyValues","Object","keys","map","key","_defineProperty","length","genAutoNum","_x4","_genAutoNum","_control","autoNumFormat","template_id","status","autoNumberAttibute","isCheck","formats","choiceFormat","tempLabels","tempValues","i","_i","con","tempCheck","j","showSymbol","prefix","dd","_con","_loop2","_j","condition","forEach","rowIdx","layout","label","template","includes","_toConsumableArray","delegateYield","type","push","formattedYear","newPosition","newFormat","_i2","position","split","RegExp","indexOf","substring","_x5","join","fisrtPreix","Prefix","Digit","digit","TemplateId","Status","Label","rowIndex","colIndex","Message","t1","InputControlComponent","colIdx","control","name","col","colAction","colText","canEditDoc","buttonType","checkActionPage","onControlChange","_objectWithoutProperties","_excluded","Controller","rules","required","attribute","require","render","field","_ref2$formState","formState","errors","isSubmitted","inpId","replaceAll","_Fragment","ComponentLabel","Col","sm","md","xs","xl","items","Input","_objectSpread","onBlur","e","onChange","target","id","readOnly","readonly","size","placeholder","description","maxLength","parseInt","disabled","onKeyDown","_e$code","code","toLocaleLowerCase","setTimeout","_document$getElementB","curIndex","document","getElementById","getAttribute","nxtIdx","$","focus","click","InputTableComponent","saveFunc","inputRef","isEditing","onEdit","nId","toggleEdit","_excluded2","nextTab","_document$getElementB2","Tooltip","title","placement","Form","Item","margin","message","autoFocus","ref","defaultValue","onPressEnter","preventDefault","_e$code3","onFocus","select","width","onClick","_e$code2","AlertContext","createContext","alertColors","AlertContextProvider","_notification$useNoti","notification","useNotification","_notification$useNoti2","_slicedToArray","api","contextHolder","Provider","toggleAlert","params","icon","BsFillInfoCircleFill","RiCloseCircleFill","FaCheckCircle","TiWarning","onClose","duration","borderRadius","zIndex","formatToColumns","columns","rowData","formatColumn","newData","_data$row","row","_columns$j","_row","_item","idx","toString","column","align","_","record","index","_column","tableWidth","widthInTable","Number","alter","dataIndex","editable","isShow","DateInputComponent","actionAlert","_useState","useState","_useState2","action","setAction","checkStatus","Data","ErrorType","Value","formatDate","arrDate","mm","DatePicker","dateValue","newDate","Date","toDate","toLowerCase","toLocaleString","year","month","day","getDateValue","showTime","inputReadOnly","DatePickerControlComponent","_ref3$field","_ref3$formState","DatePickerTableComponent","_excluded3","onMouseOver","InputNumberComponent","InputNumber","symbolPosition","addonAfter","addonBefore","controls","formatter","isNaN","useComma","minimumFractionDigits","decimal","toFixed","default","_value","maximumFractionDigits","blur","InputNumberControlComponent","controlUpdate","useWatch","min","max","_errors$items$rowIdx","_errors$items$rowIdx$","_errors$items$rowIdx$2","_errors$items$rowIdx$3","_errors$items$rowIdx2","_errors$items$rowIdx3","_errors$items$rowIdx4","_errors$items$rowIdx5","intValue","InputNumberTableComponent","useAlert","validator","correct","msg","formatValue","formatMaxValue","formatMinValue","Promise","resolve","reject","Error","border","RadioComponent","Radio","Group","multipleLine","Space","direction","choice","RadioControlComponent","RadioTableComponent","normalize","Option","Select","SelectWithTableDropdownComponent","_template$attribute","_template$attribute$i","tableOptions","showSearch","optionFilterProp","filterOption","input","option","textAlign","height","SelectDropdownComponent","_template$attribute2","_template$attribute2$","SelectDropdownControlComponent","validate","_ref4$field","_ref4$formState","SelectDropdownTableComponent","_useState3","_useState4","customOptions","setCustomOptions","options","find","targetCol","res","CheckboxInTableComponent","Checkbox","checkValue","checkedValues","_onChange","test","check","onSelectChange","_values","CheckboxComponent","_res","CheckboxControlComponent","_value$item","_value$item2","_value$item3","every","CheckboxTableComponent","paddingRight","SelectCheckboxInTableComponent","splitData","mode","SelectCheckboxComponent","SelectCheckboxControlComponent","SelectCheckboxTableComponent","InputTextAreaControlComponent","TextArea","tId","errorserrorserrorserrors","autoSize","minRows","rows","InputTextAreaTableComponent","_document$getElementB3","_e$code4","AttachmentModal","visibleDialog","setVisibleDialog","setCheckHasValue","toast","nameFile","setNameFile","link","setLink","setVisibleConfirmDialog","SharepointSiteURL","TinyURL","visibleConfirmDialog","selected","setSelected","setValue","fileType","_useUserContext","useUserContext","userData","onFileSelected","mapData","hasInvalidFiles","file","dataTransfer","files","currentTarget","filefilefile","myArray","endsWith","filesize","uploadFile","_response$data","formData","_response$data$pathUr","FormData","append","generateQuickGuid","EmployeeId","pathUrl","confirm1","t0","confirmDialog","header","rejectClassName","Dialog","blockScroll","visible","breakpoints","modal","onHide","draggable","footer","Button","footerDialog","SelectButton","controlId","Control","accept","alignSelf","marginTop","htmlFor","InputText","_e$target$value","_e$target$value2","AttachmentComponent","useRef","isModalVisible","setIsModalVisible","checkHasValue","_useState5","_useState6","_useState7","_useState8","_userData","parse","_useState9","_useState10","_useState11","_useState12","_useState13","_useState14","uploadType","setUploadType","_sharepointSiteURL","deFaultValue","def","_nameFile","linkFile","_openWindow","_link","protocol","_port","charAt","location","startsWith","open","host","port","acceptUpload","Toast","ConfirmDialog","acceptClassName","Popover","content","openWindow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","backgroundColor","boxShadow","AiOutlineClose","AttachmentControlComponent","_ref6","_ref6$field","_ref6$formState","AttachmentTableComponent","_ref7","AntForm","onMouseEnter","initialSession","_localStorage","employeeData","UserContext","useContext","UserContextProvider","defaultUserContext","onChanceRef","refTempSelected","memoDetail","listFormNames","refAttribute","currentTemp","_onControlChange","template_desc","_listRefDocsDetail","listFileAttachDetails","docsCode","refColumn","_iterator","_step","listRefDocsDetail","RefDocColumn","RefTemplate","temp","DocumentCode","_createForOfIteratorHelper","refTems","refDocDetail","selectedColumn","valibCol","memoRefdoc_id","MemoId","doc_no","DocumentNo","template_ID","template_Name","template_name","memoSubject","subject","MAdvancveForm","ControlValue","Amount","RNameEn","RPositionId","DepartmentId","RequestDate","CompanyName","selColLabel","colLabel","pop","TypeControl","sourceRow","sourceCols","targetPositions","selCol","_layout","_col$objTable","objTable","tarColIdx","refTable","_selectedColumn$items","_selectedColumn$items2","_selectedColumn$items3","tableRows","newRow","Key","originCol","_colIdx","refCol","_refCol$_colIdx","_layout$data","_col$ControlValue","RefDocDisplay","getMemoForAttch","s","n","done","f","finish","t2","errorMessage","_x6","memoId","memoid","GetAttachmentFilesByMemoId","_x7","context","GetAllDynamic","apiName","queryString","urlParams","UserPrincipal","ConnectionString","URLSearchParams","Scopes","IsActiveOnly","ex","updateDynamic","formBody","model","CoreControllerComponent","advanceForm","setAdvanceForm","tableSummary","setTableSummary","summary","setSummary","isShowSummary","setIsShowSummary","formLoading","setFormLoading","formComponent","setFormComponent","setAutoNumFormat","_useState15","_useState16","autoNumDigit","setAutoNumDigit","_useState17","_useState18","numFormulas","setNumFormulas","_useState19","_useState20","allLogic","setAllLogic","_useState21","_useState22","valueTable","setValueTable","_useState23","_useState24","runningNumber","setRunningNumber","_useState25","_useState26","rvsPosition","setRvsPosition","_useState27","_useState28","currentLogic","setCurrentLogic","sumValue","_useState29","_useState30","isFirstLoad","setIsFirstLoad","getRevision","_getRevision","_callee12","_advanceForm","detail","rvsTemp","revision","_context14","requestDetail","RefId","Labelrevision","Alter","conditions","Itemlabel","formTemplate","setSumTable","renderControl","_advanceForm$items","logic","isInitialLogic","checkLogic","_props$listLogicData","_props$listLogicData2","_props$listLogicData3","listLogicData","relateGroup","onDataSourceLoadRelated","onChangeAttributeForm","onDataAjaxLoadTable","onDataRefLoadTable","onLoadLineApproveWithLogic","onClickLogic","mstTable","mstType","mColumn","columnAll","requestLogic","lineLogic","_logic","jsonObject","relateValue","l","labelaction","_k","_advanceForm2","_l","_layout2","_dataJson2","_j2","_labelaction","_k2","_advanceForm3","_l2","_layout3","m","_dataJson3","loadTo","refFilter","loadToField","_j3","controlFilter","_k3","_advanceForm4","_l3","_layout4","_dataJson4","_k4","_advanceForm5","_l4","_layout5","_dataJson5","jsonvalue","logictype","relatedvalue","group","logicid","labelactions","labelintablestatus","autoloadvaluelabel","onDatareladToLoadData","Column","Mastertable","Type","MColumn","ColumnAll","Filter","TBColumn","mstColumn","MSTColumn","tbColumn","setListLogicData","empId","dataSourceLoadGroup","dataSourceRelatedToLoadGroup","z","element","roles","fieldaction","_advanceForm6","_layout6","_m","approvals","_m2","_fieldaction","_k5","_advanceForm7","_l5","_layout7","_n","_m3","approver","logicGroupData","_response","setIsInitialLogic","current_approval_level","lable","roleids","RoleId","approvetypeids","typeid","sequence","emp_id","ApproveType","onDataSourceLoad","onChangeLogicForm","logicGroup","setInformationMethodProp","tableArray","tableLabel","total","onLoadLogic","templateID","dataLogic","onChangeRefValueTableForm","DT","onChangeAttributeTableForm","_x8","_x9","_x10","_x11","_callee6","empData","_dataJson","requestData","_context6","employee","ComCode","company_id","JsonCondition","templateForm","TemplateApproveId","lstTRNLineApprove","lineApproval","listApprovalDetails","_data","isHas","lineNew","line","setRequestDetail","prevState","_x12","_ref8","_callee7","dataGroup","responseGroup","_context8","dataSource","_context7","_x13","_ref9","_callee8","_context9","onChangeValueForm","_x14","_x15","_ref10","_callee9","_loop3","_context11","_context10","_x16","onTableDatareladToLoadData","_ref11","_callee10","advanceRow","advanceCol","tableRow","tableCol","tableActionCol","_context12","onChangeValueTableForm","_x17","_x18","_x19","_x20","_x21","_x22","_x23","dataRequest","_dataRequest","rowTable","_loop4","_colData","_loop5","_i4","_Object$entries","entries","_Object$entries$_i","relate","_loop6","permittedValues","resRow","perValue","colData","Array","fill","_i5","_Object$entries2","_Object$entries2$_i","onChangeEditForm","statusMemoDetail","onChangeEditFormTable","tableRowIdx","tableColIdx","table","onTableFooterChange","footerVal","footerRow","footerTable","_x24","_callee14","_context16","_ref16","_callee13","_context15","fm","ft","_x26","_x27","sum","updateTableSum","tableName","tableSum","ss","sumTable","calNumberWithFormula","formu","formula","match","_layout$data$row","regExp","eval","NaN","_ref15","_callee11","form","_context13","controlComponent","_x25","ProgressSpinner","padding","SummaryComponent","headtext","subtext","summaryProps","inputId","inputClassName","minFractionDigits","inputStyle","background","CoreControllerComponentTest","onProcessLogicReference","templateDesc","setMemoDetail","isFirstRun","previousRefTempSelected","register","handleSubmit","onSubmit","documentNo","reset","jsonConditions","setJsonConditions","setLineApproval","isControlLoading","setIsControlLoading","getLineApproveForAmount","setListFileAttachDetails","tableSummaries","setTableSummaries","previousView","setListRefDocDetails","prepareInitialLogic","setTableOptions","setButtonType","edFont","defaultFont","_useFieldArray","useFieldArray","fields","prepend","remove","swap","move","insert","update","controlRef","logTemplateDesc","returnToValure","gogo","checkIsSummaryWithoutLogic","logics","controlTemplate","processRef","_processRef","refResult","_refResult","_context17","refIdOnQuery","current","onRefSelect","refSelected","_listLineApprove","listMemoIds","resApprovals","newControl","isDefaultLineApprove","GetApprovalsByMemoIDs","detechRevisionControl","_onControlChangeRef","isArray","onProcessSummary","jsonCondition","controlValue","_amount","isSum","isControlHasSum","selTable","tableTemp","AllCol","calCulateCorecontrol","currentControl","_callee3$","resulstField","variables","callLogics","_loop$","lastIndexOf","selValue","_item$layout","checkCallLogic","onProcessLogic","updateTableSummaries","_tableSummaries","_sumTable","callLogic","DataSourceRelated","jsonValue","DataAjaxLoadTable","DataRelatedToLoadData","labelAction","Reference","DataLineApprove","refControl","_jsonConditions","_logics","oldRefControl","isInTable","isRef","_controlString","newControlString","sumRes","_yield$onProcessLogic","_args6","columnTb","_templateId","onProcessLogicDataSourceRelated","responseDataSourceLoadRelated","jsonRelated","_jsonValue$relatedval","_templateDesc$items","_item$layout2","_conditions","_relateValue","_item2","_i6","keyRelate","valueRelate","_label","values","onProcessLogicAjax","_templateDesc$items2","actionFrom","_item$layout3","onProcessLogicLineApprove","conditionsValue","onFilterCondotionsValue","onProcessLogicDataRelatedToLoadData","_onFindDataJson","rawData","_data2","onFindDataJson","checkIfLogicsHaveValue","_x28","_x29","_bool","checkIfGetData","_ref12","controlString","responseData","ee","newColumn","responseDataTable","_i7","_relateGroup","relateData","_responseData","_i9","_i10","_value2","_responseData2","_responseData3","positionControl","_i11","_j4","mapDataItem","actionCol","_responseData3$action","_tableOptions","_responseData4","_i12","processData","rowTemplate","colTemplate","checked","actionsCol","_x30","_x31","_x32","_x33","_x34","_x35","_ref13","_x36","_controlValue","_column$control$templ2","exit","_column$control$templ","_ref14","_x37","Conditions","Spin","tip","spinning","labelCol","span","wrapperCol","initialValues","remember","onFinish","Row","Controls","nestIndex","confirm","Modal","Text","Typography","EditableContext","React","EditableRow","_Form$useForm","useForm","component","EditableCell","handleSave","isError","restProps","editing","setEditing","_inputRef$current","cursor","setFieldsValue","save","_responseControlChange","getFieldsValue","responseControlChange","childNode","_col","flexDirection","justifyContent","TableComponent","_layout$template$attr","_layout$template$attr2","_columns","moveToDialogVisible","setMoveToDialogVisible","moveFormIndex","setMoveFormIndex","fileInputRef","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","refDocOptions","setRefDocOptions","selectedData","setSelectedData","refTableColumn","setRefTableColumn","tableFooter","setTableFooter","exportFile","setExportFile","loadFile","setLoadFile","enabledpopupdefdoc","fetchRefDocFormTable","handleDelete","filter","summaryFunc","returnToValue","menu","createRowCopy","x","fmt","handleAdd","eiei","handleAddMultiRow","newRows","newJa","_eiei","calCulateFunc","formulas","_result","resultColIdx","resultDecimal","operator","_row$col$label","_row$col$label$toStri","allField","_row$col$label2","_row$col$label2$toStr","cols","_tableSummary","_sum","colidx","_e$col$control$templa","_e$col$control$templa2","_e$col$control$templa3","_e$col$control$templa4","calCulateTableFooter","findIndex","splice","defColumns","fixed","actionBodyTemplate","onCell","_menu$current$record$","toggle","addRowTo","duplicate","moveTo","updateRow","command","Fragment","TieredMenu","popup","el","IoEllipsisVertical","renderTableFooter","_layout$template$attr3","_layout$template$attr4","footers","changeObj","_footer$value","_eval","_eval2","addbits","newForm","strFormula","_fetchRefDocFormTable","tempAtt","refDetails","refReportDetail","refOptions","_refReportDetail$dt_R","_refColumn","refdoc","PageIndex","PageSize","CUserID","creator","RUserID","requestor","ConditionRefdoc","conditionrefdoc","Search","NameEn","docDataSource","docReport","docCancelDoc","docEditDoc","docNewDoc","doccontrol","docref","GetRefDocFormTable","GetReportById","_option","a","mergecolumnrefdoc","RefDocLabel","CreatorId","report_lang","CNameEn","CNameTh","CPositionEn","CDivisionEn","CDepartmentEn","RequesterId","RNameTh","RPositionEn","RPositionTh","RDivisionEn","RDivisionTh","RDepartmentEn","RDepartmentTh","StatusName","TemplateName","MemoSubject","headerEn","dt_Report","onImportExcel","onExportExcel","mAdvance","blob","URL","createObjectURL","Blob","createElement","href","download","appendChild","handleFileUpload","putExcelToTable","resultData","slice","ExcelTablePreview","onCheckedHeader","okButtonProps","CheckCircleOutlined","rev","onOk","cancelButtonProps","CloseSquareOutlined","onCancel","getTable","_memoDetail$template_","addRowValue","menuClickHandler","onchange","_e$target","menuItem","Menu","info","FileTextOutlined","rightComponent","canImport","Dropdown","overlay","loading","Table","components","cell","rowClassName","bordered","scroll","y","haveInput","useValue","TableFooter","footerAtt","pageData","_layout$template","_layout$template$attr5","isShowSum","isSummary","Summary","Cell","MoveToDialog","dataLength","isVisible","setIsVisible","setLoading","moveFunc","SelectDataDialog","dialogKey","dataList","dialogVisible","setDialogVisible","selectionMode","onSelectFunc","_selectedData","ColumnLabel","memo","moveValue","setMoveValue","closable","resizable","onValueChange","inputValue","setInputValue","parser","dup","displayData","pageSize","setPageSize","pagination","onShowSizeChange","memoIds","AutoNumber","ButtonComponent","setUrl","useHistory","newUrl","renderInTable","param","val","paramiter","EditorComponent","_useUserContext2","_tinyURL","_ref$field","_ref$formState","dangerouslySetInnerHTML","__html","Editor","tinymceScriptSrc","init","statusbar","paste_data_images","menubar","content_css","object_resizing","default_link_target","fullscreen_native","remove_script_host","relative_urls","image_title","automatic_uploads","image_sourcetab","image_advtab","plugins","toolbar","toolbar1","fontsize_formats","font_formats","content_style","images_upload_handler","_images_upload_handler","blobInfo","success","failure","File","filename","lastModified","now","onEditorChange","editor","handleEditorChange","EmptyComponent","ImageComponent","_TinyURL","setValueState","setFileType","_onFileSelect","_props$template2","_props$template3","guid","_props$template$attri","_props$template$attri2","_props$template","_ref2$field","pointerEvents","Image","src","alt","CgCloseR","onFileSelect","MainCheckboxComponents","HeadingComponent","istext","paddingTop","wordWrap","whiteSpace","textvalue","MainTextComponents","TextComponent","layoutIdx","layoutLength","_colText","_colAction","_autoNumFormat$format","_isCanEdit","_createElement","isHideAllColumn","o","reduce","pre","cur","hidden","_value$data","pass","_errors$items$nestInd","_errors$items$nestInd2","_tableSummaries$find","_errors$items$nestInd3","_errors$items$nestInd4","_formatColumn","each","setAttribute","InputTextComponents","_props$valueProps","setStyleDivProps","setClassNameSpanProps","setIconProps","setClassNameProps","setStyleProps","onChangeProps","keyProps","valueProps","disabledProps","placeholderProps","onClickProps","readOnlyProps","autoFocusProps","typeProps","acceptProps","onBlurProps","onFocusProps","fieldProps","Math","random","GetButtonMemoByMemoId","ActionMemoPage","GetMemoDetailById","GetMemoDetail","GetMemoDetailOnlyById","GetRefDocTemp","GetAllMemo","SetCheckAcces","MAdvanceFormByMemoIds","ValidateDelegate","GetDashboardKeyEndpoint","resultCard","_data$split","GetDashboardFilterStatus","GetDashboardAdvancedFilter","configuration","_data$split3","_data$split4","keyConfig","typeConfig","displayConfig","GetDashboardFilterGroupBy","_data$split5","_data$split6","GetDashboardStatusCard","LoginConfiguration","getAzureConfig","GetDashboardDefaultFilterConFig","ADTitleConfiguration","getVersion","getUploadFileSettingConfiguration","CannotDowLoadPDFDefaultConfiguration","ButtonNavigation","setActive","menuButton","setMenuButton","sortableMenu","setSortableMenu","toggleState","setToggleState","t","useTranslation","useLocation","useMemo","r","GroupMenu","create","newResult","Request","uniqueArray","SubMenu","obj","sort","b","OrderGroup","toggleArray","_idx","pathname","_toggleState","Url","res_every","mapIcon","RiTodoLine","AiOutlineReconciliation","AiOutlineSetting","AiOutlineUnorderedList","_menu$","_menu$2","_menu$1$","_menu$1$2","_menu$1$3","_menu$3","OrderSub","InternalUrl","Link","to","_url","trigger","redirectPath","isAuthenticated","Cookies","get","SessionContext","useSessionContext","SessionContextProvider","defaultSessionContext","GetAllEmployee","opts","_URLSearchParams","qs","IsActive","UpdateEmployee","UpdateSignature","GetUserData","GetAllPosition","GetDepartment","UpdateDepartment","EmployeeDialog","_props$formData14","_props$formData15","_props$formData16","_props$formData17","_props$formData18","_props$formData19","_props$formData20","_useForm","reValidateMode","shouldUnregister","messageConfirmDialog","setMessageConfirmDialog","formSelectedPosition","setFormSelectedPosition","formSelectedDepartment","setFormSelectedDepartment","formSelectedDivision","positionList","setPositionList","deptList","setDeptList","divList","setDivtList","dataEmployeeList","setDataEmployeeList","setSearchData","report_To","setReport_To","setUploadFile","setUserData","subDialogVisible","setSubDialogVisible","fetchDataEmployee","_fetchDataEmployee","_dataEmployee","selectedEmp","EmployeeCode","String","NameTh","Report_ToNameEn","_props$formData21","ReportToEmpCode","fetchPosition","_fetchPosition","_dataPosition","newList","_props$formData22","_positionList","PositionId","fetchDepartment","_fetchDepartment","_dataOrgranize","_props$formData23","_deptList","fetchDivision","_fetchDivision","_dataDivision","_props$formData24","divtList","DivisionId","isEmptyObject","dialogHeader","_props$formData","_props$formData2","_props$formData3","_props$formData4","_props$formData5","_props$formData6","rowDataPosition","PositionNameTh","PositionNameEn","rowDataDept","DepartmentNameTh","DepartmentNameEn","mainDialogVisible","_props$formData7","_props$formData8","_props$formData9","_props$formData10","_props$formData11","_props$formData12","getFormErrorMessage","acceptSave","isCodeDup","isEmailDup","empDup","_report_To$EmployeeId","_report_To$EmployeeId2","_props$formData13","Email","Username","Position","Department","Division","DivisionNameTh","DivisionNameEn","Lang","ModifiedDate","hour","minute","second","ModifiedBy","CreatedDate","CreatedBy","SignPicPath","setTableData","setMainLoading","setMainDialogVisible","reader","FileReader","readAsDataURL","onload","onerror","getBase64","maxWidth","baseZIndex","fieldState","classNames","invalid","InputSwitch","optionLabel","showClear","filterBy","FiX","FiSave","headerTh","ignore","clearLocalStorageOnLogout","removeItem","ButtonNavigationDropdown","nameUser","setNameUser","shortNameUser","setShortNameUser","emailUser","setEmailUser","setEmpData","cookies","_useSessionContext","_useSessionContext2","sessionState","setSessionState","fullName","firstName","lastName","toUpperCase","Panel","Collapse","history","IoPersonOutline","IoMailOutline","BsFillPersonFill","viewBox","xmlns","d","stroke","IoLogOutSharp","closeDropdown","defaultActiveKey","mapButton","GetNavbarMenu","mail","navBarData","ChangePasswordModal","handleCancel","onSubmitPassword","isPasswordCompared","closeIcon","IoMdClose","current_password","new_password","comfirm_password","CheckAppSetting","CheckCanEditProfile","CheckCanAdminEditCompletedMemo","CheckAutoReport","CheckCanDownloadPdf","EmployeeDialogFix","toggleMainDialog","tableData","canEditOnlySignature","isEditProfile","departmentList","setDepartmentList","editProfileSetting","setEditProfileSetting","i18n","defaultValues","AccountCode","AccountName","DefaultLang","ADTitle","getValues","watch","setError","selectedPosition","selectedDept","selectedDiv","_selectedEmp$Employee","_selectedEmp$Employee2","newUser","changeLanguage","setItem","pos","dept","div","emp","getSetting","canEditProfile","CompanyCode","user","DivisionCode","getReportTo","currentCode","limitFileSize","_errs$name$message","_errs$name$message2","errs","_formState","ProgressBar","gutter","lg","EmployeeCodeSize","_getWatch","_ref7$formState","pattern","overflowWrap","limitFileInfo","NavigationBar","_props$responeConfig10","navigationMenu","setNavigationMenu","toggleDropdown","setToggleDropdown","popOverClick","setPopOverClick","setPopOverHover","isActive","setIsActive","_useMsal","useMsal","instance","accounts","inProgress","setVisible","setIsPasswordCompared","useRouteMatch","_useState31","_useState32","isWolf","setIsWolf","_useState33","_useState34","setCanEditProfile","_useState35","_useState36","setCanEditOnlySignature","addEventListener","handleScroll","initialNameUser","fetchNav","checkState","_navigationMenu","_isWolf","_canEditProfile","handleClickChange","signOutClickHandler","baseurl","_accounts$","logoutRequest","origin","account","getAccountByHomeId","homeAccountId","postLogoutRedirectUri","logoutRedirect","handleOpenEditProfileModal","handleOpenChangePasswordModal","userPopupContent","_baseUrl","hostname","newPassword","oldPassword","webUrl","Remark","state","responeConfig","pathNavbarColor","BsList","_props$responeConfig","_props$responeConfig$","_props$responeConfig2","_props$responeConfig3","_props$responeConfig4","cssConfig","pathLogoNav","onVisibleChange","overlayInnerStyle","NavbarDesktop","_props$responeConfig5","_props$responeConfig6","_props$responeConfig7","_props$responeConfig8","_props$responeConfig9","NavbarMobile","loginWolfAccount","username","password","TmpUrl","loginWolfBD","LoadContext","LoadProvider","isLoad","setLoad","useLoading","LoginScreen","_errors$username2","_errors$password2","_useLoading","webVersion","setWebVersion","apiVersion","setAPIVersion","onLoading","setOnLoading","remarkValid","setRemarkValid","PathCarousel","carouselItem","fetchVersion","_loginBody","_loginWolfAccount","_loginWolfAccount$emp","fav_storage","_loginWolfAccount2","_loginWolfAccount2$em","_fav_storage","set","GuidVerify","path","expires","hash","Carousel","autoplay","_carousel","PathLogo","AiOutlineMail","_errors$username","AiOutlineLock","_errors$password","HidePassAndRegister","paddingBottom","IsMulti","deleteAllCookies","cookie","c","toUTCString","MSAL_CONFIG","auth","clientId","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","Verbose","debug","Warning","warn","AzureAuthenticationContext","_MSAL_CONFIG$auth","_classCallCheck","myMSALObj","PublicClientApplication","loginRedirectRequest","loginRequest","isAuthenticationConfigured","this","setRequestObjects","_createClass","scopes","prompt","redirectStartPage","signInType","setUser","_this","loginPopup","resp","handleResponse","loginRedirect","logOutRequest","logout","incomingFunction","getAccount","currentAccounts","getAllAccounts","LoginScreenAzure","dialogBD","setDialogBD","useIsAuthenticated","authenticationModule","request","_useMsalAuthenticatio","useMsalAuthentication","InteractionType","Silent","login","query","search","InteractionStatus","None","submitAzure","onSubmitBD","ActionPassLogin","_accounts","idTokenClaims","aud","exp","pathCarousel","pathLogo","MdOutlineLock","FooterComponents","ButtonComponents","_props$setLabelProps","setLabelProps","UpdateApprovalMatrix","approvalMatrix","approveMatrixItems","GetAllApprovalMatrixItem","ApprovalMatrixDialog","itemsList","setItemsList","itemsListShow","setItemsListShow","subDialogVisible2","setSubDialogVisible2","setMode","approvers","setApprovers","amountFrom","setAmountFrom","amountTo","setAmountTo","positionLevelList","setPositionLevelList","formSelectedPositionLevel","setFormSelectedPositionLevel","itemAction","setItemAction","selectedItem","setSelectedItem","_fecthPositionLevel","positionLevel","fecthPositionLevel","matrixItems","ApproveMatrixId","ApproverId","ApproveMatrixItemId","AmountFrom","AmountTo","PositionLevelId","PositionLevelName","ApproverName","Seq","IsTypePosition","positionLv","posi","resetSubDialog","DataTable","onRowReorder","tableStyle","outlineColor","dataKey","responsiveLayout","rowReorder","bodyClassName","_approver","_pos","editIcon","seq","onDeleteRow","binIcon","maxFractionDigits","RadioButton","replaceIndex","AddItem","AiOutlinePlus","_approvers","mutiable","CompanyDialog","Tel","Fax","UrlWeb","AddressTh","AddressEn","UrlLogo","InputTextarea","DepartmentDialog","masterCompany","setMasterCompany","setSelectComCode","fecthCompany","company","_formValues","_data$CompanyCode","_data$CompanyCode2","DepartmentCode","DivisionDialog","setFormSelectedRole","setRolesList","_fecthRoles","RolesId","fecthRoles","MasterDataDialog","_props$toast","_props$toast2","MasterId","Value1","Value2","Value3","Value4","Value5","MasterType","show","severity","life","MenuDialog","formSelectedRole","rolesList","allRoles","defaultVal","_rolesId","role","AuMenuId","MultiSelect","PositionDialog","selectComCode","_fecthCompany","_fields","_f","PositionLevel","PositionLevelNameEn","PositionLevelNameTh","AccountId","UpdateRole","formRoleEmployee","GetRolePermission","GetPermissionByEmpId","RoleDialog","searchData","_fetchRoleItem","permissions","permis","IsDelete","object","NameThRole","NameEnRole","NameThEmployee","NameEnEmployee","fetchRoleItem","RoleDescription","setData","itemsShow","DropdownComponents","selectValue","setSelectValue","obtions","setObtions","setstyle","fecthData","_fecthData","_dataDynamic","optionsProps","styleProps","disable","optionLabelProps","borderColor","validationProps","filterProps","panelClassName","DynamicDiaLog","dynamicColumnsGrid","setDynamicColumnsGrid","obtionList","setObtionList","copyFormdata","setCopyFormdata","GetColumns","grids","dropdownList","dataType","_dataArray","_dataArrayCheck","_dataArraygrid","inx","_grid","textTH","text","translateFunc","setControllerId","manageObjectDatas","_dynamicColumnsGrid","getColumns","fieldName","objectKey","DialogList","pop_up","setPop_up","dialogs","formDataProp","dataListProp","setDataListProp","tableComfirmDialog","visibleConfirmProp","setTableComfirmDialog","setVisibleConfirmProp","visibleDialogProp","setVisibleDialogProp","setMatrixItems","dialogName","tableColumn","DynamicTable","today","getMonth","getFullYear","prevMonth","prevYear","nextMonth","nextYear","minDate","setMonth","setFullYear","maxDate","dataDynamicTable","setDataDynamicTable","showdataDynamicTable","setShowDataDynamicTable","exportData","setExportData","toggleSelect","setToggleSelect","clearFilter","setClearFilter","filters2","setFilters2","showClearDate","setshowClearDatel","titleHead","setTitleHead","dataEdit","setDataEdit","checkAction","setCheckAction","messageButtonDialog","setMessageButtonDialog","visibleConfirm","setVisibleConfirm","canReoderColumn","setCanReoderColumn","reportFileName","setReportFileName","colletionField","setColletionField","canAction","setCanTableAction","setColumns","_useState37","_useState38","selectData","setSelectData","_useState39","_useState40","filteredData","setFilteredData","dt","_useState41","_useState42","selectedColumns","setSelectedColumns","toggleLoading","isload","arrayDataColumn","collection","isChecked","dispalyLebelAndAlter","fieldTypeFilterDynamic","FieldTypeFilterDynamic","setDefSelected","fetchData","visibleDialogAddProps","isEditProps","isDeleteProps","displayFormDialog","items_label","getElementsByClassName","innerHTML","setItemsCount","matrixItem","myData","_filters","canReorderColumn","FieldCollection","matchMode","FilterMatchMode","EQUALS","DATE_AFTER","DATE_BEFORE","BETWEEN","DATE_IS","CONTAINS","ReportName","statusItemTemplate","monthNavigatorTemplate","event","originalEvent","normalFilterTemplate","filterApplyCallback","filterModel","AutoComplete","suggestions","completeMethod","datas","array","property","from","has","Map","getUnique","trim","_c$option$field","onSelect","dynamicColumns","_filters2$col$field","_filters2$col$field2","_filters2$col$field3","_filters2$col$field4","_filters2$col$field5","_filters2$col$field6","_filters2$col$field7","_filters2$col$field8","_filters2$col$field9","_filters2$col$field10","_filters2$col$field11","_filters2$col$field12","_filters2$col$field13","_filters2$col$field14","_filters2$col$field15","_filters2$col$field16","_filters2$col$field17","_filters2$col$field18","_filters2$col$field19","_filters2$col$field20","flexGrow","flexBasis","sortable","filterMatchMode","filterElement","itemTemplate","statusRowFilterTemplate","filterHeaderClassName","showClearButton","onFilterClear","Calendar","monthNavigator","yearNavigator","yearRange","yearNavigatorTemplate","readOnlyInput","dateFilterTemplate","_rowData$col$field","_unused","mainStr","subStr","AmountFrom_AmountTo","_unused2","image","Memo_MemoId","textDecoration","Memo_DocumentNo","actionLinkIReport","_unused3","toastShowSuccess","toastShowError","selData","SplitButton","setDisplayFormDialog","dropdownIcon","onColumnToggle","orderedSelectedColumns","some","sCol","exportExcel","excelData","dataExport","dataField","_data$col$field","reconStructionForExport","xlsx","workbook","Sheets","utils","json_to_sheet","SheetNames","excelBuffer","write","bookType","saveAsExcelFile","buffer","fileName","FileSaver","saveAs","getTime","importExcel","wb","wsname","ws","_importedData","_props$apiName","apiNamereplace","read","sheet_to_json","shift","readAsArrayBuffer","header1","showSelCol","showCol","showSelectAll","recon","dataShow","reconStructionForShowData","canExport","renderHeader1","stripedRows","paginator","reorderableColumns","onRowClick","rowClickFunc","onColReorder","colOrder","rowPointer","selection","onSelectionChange","globalFilterFields","rowsPerPageOptions","rowHover","filters","filterDisplay","paginatorTemplate","currentPageReportTemplate","actionBody","exportable","frozen","alignFrozen","renderActionColumn","checkActionProp","titleHeaderProp","toastShowSuccessProp","toastShowErrorProp","messageButtonDialogProp","GetTemplateFromDDL","GetTemplateTemplateListVersion","GetTemplateeBindFormNameDDL","SearchTemplateListEditing","GetTemplateListVersionHistory","GetTemplateByDocTypeCode","GetTemplateById","GetTemplate","GetAllByCreateTemplate","ReportTemplateList","GetTemplateControlById","AddTemplate","_callee15","AddTemplateAndVersion","_callee16","DeleteTemplate","_ref17","_callee17","LoadLogic","_ref18","_callee18","_context18","ValidateRefTemplate","_ref19","_callee19","refValid","_context19","TreeSelectNewRequest","groupDataTemplate","setGroupDataTemplate","searchTemplate","setSearchTemplate","isOpen","setIsOpen","checkActionFavorite","setCheckActionFavorite","checkFilter","setCheckFilter","_fetchDataTemplate","fetchDataTemplate","removeEventListener","_dataTemplate","_groupDataTemplate","fav_cookie","groupTemplate","keyDataTemplate","_fav_cookie","_fav_cookie$k","_value$i","selectAll","DefultMode","OnlyActive","GroupTemplateName","localeCompare","fromEntries","TemplateNameWithCode","favorite","onClickStar","groupIdx","templateIdx","checkUnClickStar","element2","checkHasFavorite","_groupDataTemplate$0$","_groupDataTemplate2","onUnFavorite","_groupTemplateName","_templateNameWithCode","onFilterChange","_searchTemplate","_data$data$i","_data$data$i$Template","_data$data$i2","_data$data$i2$Templat","_data$header","filteredList","filteredGroup","filtered","_data$TemplateName","_data$TemplateNameWit","_data$GroupTemplateNa","_groupTemplate","activeDefault","_searchTemplate$i$dat","_group","setDataTemplateTreeProps","listFormName","AiFillStar","AiOutlineStar","_searchTemplate$i$dat2","paddingLeft","BsSearch","expandIcon","IoChevronDownSharp","IoChevronForward","expandIconPosition","BsPlusCircle","DynamicReport","reportId","useParams","reportName","itemsCount","reportDetailBody","ReportTemplateId","LogoLoading","imgLoading","_fetchData","minHeight","flex","AutoCompleteComponents","suggestionsProps","completeMethodProps","onKeyPress","notButton","multiple","readOnlyprops","onMouseDown","RadioButtonComponents","inputIdProps","nameProps","checkedProps","labelProps","reportModelIReportModel","Selectedfieldlist","ReportDescription","IsPrivate","CreatedByname","ModifiedByname","Selectedfieldlistfilter","Columns","Rows","TemplateNewVersion","CanDelete","RoleEmp","Mode","ReportDialog","selectedField","setSelectedField","templateKey","setTemplateKey","templateField","setTemplateField","templateMulti","setTemplateMulti","templateFieldMulti","setTemplateFieldMulti","globalFilterValue","setGlobalFilterValue","isDialogVisible","keyAutoComplete","setKeyAutoComplete","employeeRequest","setEmployeeRequest","setEmployee","roleData","setRoleData","radioButtonCheck","setRadioButtonCheck","radioButtonCheckToday","setRadioButtonCheckToday","radioButtonCheckFrom","setRadioButtonCheckFrom","filterValue","setFilterValue","reportModel","setReportModel","filterValueSelected","setFilterValueSelected","setDropdownfilterValue","setGroup","groupData","setGroupData","_useState43","_useState44","indexOrderBy","setIndexOrderBy","_useState45","_useState46","indexHideColumn","setIndexHideColumn","_useState47","_useState48","indexSortingBy","setIndexSortingBy","_useState49","_useState50","textHeader","setTextHeader","_useState51","_useState52","tableLoading","setTableLoading","_useState53","_useState54","templateMode","setTemplateMode","_useState55","TemplateIdValidation","FieldCollectionValidation","ReportNameValidation","ReportDescriptionValidation","RoleEmpValidation","RoleIdValidation","DisabledSave","_useState56","validationForm","setValidationForm","_Data","_editData","_props$dataEditReport","_props$dataEditReport2","_employee","_RoleEmpSplit","_RoleIdSplit","arrayRoleEmp","arrayGroup","dataEditReportProps","onTemplateMode","_dataRoleEmp","Isprivate","_editReportData","_props$dataEditReport3","_props$dataEditReport4","_dataJSONParse","_dataFavoritesItem","arrayTemplate","_arrayItes","_i3","arrayDataReplace","_element$FieldText","_dataSplit","_element2","_element","TemplateID","_props$templateDataPr","dataFilter","templateDataProps","_SelectFormEdit","FieldText","FieldCode","_save2","objSave","_arrayName","_UpdatrReport","dataDF","reportTemplateId","remove_character","editProps","AddReport","checkSetProps","toggleDialog","UpdateReport","setEditReportProps","_TemplateKey","_TemplateKeyArray","TemplateKey","addTemplateKey","editData","_fechData2","_fechData","CreateBy","CreateDate","Reportdescription","Reportname","ReporttemplateID","SecretId","Templateversion","editReportData","indexGroupByFilter","indexGroupBy","indexSortingByByFilter","indexHideColumnByByFilter","indexOrderByColumnByByFilter","searchTextEnter","_rowData","_filterValueSelected","char_pos","IoCloseOutline","marginRight","BiSave","_save","_SelectFliedMulti","onRowReorderFilter","onChangeReportName","onChangeFilterValue","onChangeGroupData","_FilterValueSelected","allFilter","valueSelected","_RadioButtonFormType","_RadioButtonFormType2","_dataFilter","_SelectFormEdit2","_SelectFliedEdit","_SelectForm2","_SelectFlied","_CalendarDate","rowdata","_DateTime","_SelectFliedMulti2","edit","arrayPush","arraySelected","_element3","_element4","_showModal","req","_SelectFliedEdit2","arrayFliedTest","arrayFliedId","_selectFliedData","_selectFliedData$i","replaceString","_objJson","_templateSelect","_SelectedfieldlistAll","arrayFieldMulti","_arraykey","_i8","_element6","ReportListTemplateSelect","SelectedfieldlistAll","arrayFliedFliter","_SelectFlied2","_element8","_arrayKey","_element9","_element10","_AutoComplete","_dataName","Height","borderBottom","_SelectForm","resetFilterOnHide","editReport","_dataArrya","dataFilterValueSelected","ID","FieldDisplay","IsExcludeBlankData","FieldType","IsEquals","FieldTextFrom","FieldTextTo","FieldBit","FieldTypeFilterStatic","IsTodayFrom","IsTodayTo","FilterParameter","FilterValueSelected","onChangeDropdownSelectForm","scrollable","scrollHeight","showButtonBar","onChangeDropdownfilterValue","_AutoCompleteText","showModal","dataSelectEmployee","UnAurthorization","withPerMission","Component","assign","_objectDestructuringEmpty","isAuthorize","setIsAuthorizeo","isAdmin","_empData$employeeData","menus","_query","_isAuthorize","_menu$Url","_location$pathname","_menu$Url2","_location$pathname2","_menu$Url3","SortingButton","sortType","AiOutlineSortAscending","AiOutlineSortDescending","sorterFunc","filterType","nameA","nameB","_a$key","_a$key2","_b$key","_a$key3","_b$key2","RangePicker","customColumns","canEdit","rowClickAction","reloadData","customImportFileButton","paginationOption","onPageChange","allColumns","setAllColumns","showData","setShowData","isHoverAction","setIsHoverAction","setFilters","canOpenMemo","setCanOpenMemo","exportLoading","setExportLoading","importLoading","setImportLoading","GetFilter","tableFilter","_allColumns","formatData","getsettingReportTableColumns","getsettingTableColumns","filterFunc","previousFilter","sessionStorage","colField","colType","colWidth","getWitdthFormText","getSorterButton","getInputFilter","onMouseLeave","ellipsis","showTitle","htmlBody","isPublishVersion","Tag","ctx","getContext","font","measureText","_tableFilter$find","_tableFilter$find2","v","rowFilter","ranges","Today","startOf","endOf","allowClear","uniq","Set","isDuplicate","add","_option$value","onClear","startDate","endDate","_e$filter$key","_e$filter$key$toStrin","allCol","_location$search","_location$search2","showHeader","showSizeChanger","onRow","onDoubleClick","onContextMenu","LoadState","GetAllMasterDataService","COMPLETE","queue","FAIL","IDLE","_this2","LOADING","responseToQueue","GetAllMasterData","retrieve","GetSignature","GetReportSetting","GetIsDocControl","getAuthorization","getVersionTempVC","GetLeaveTemplate","GetLeaveTemplateByEmpId","GetMasterDataFieldInfo","GetMasterDataReportTem","GetFontList","GetMasterDataBrowserAgent","browsers","value1","messages","value2","SelectedFieldComponent","reportTemp","setReportColumns","setGettingreport","rtcon","setRtcon","findSelected","fecthMasterData","_rtcon","_rtcon$","_rtcon$$value","_selectedfieldlist","_selectedfieldlistfilter","fecthDataReport","fieldCollection","numCols","dateCols","edCols","FavoritesItem","_Number","doc","DOMParser","parseFromString","innerText","getChipValue","fieldValue","onChangeSelectField","exitFilter","_data$Selectedfieldli","isPass","request_date","dateForm","diff","validateFun","Chips","separator","DynamicReportFix","_isAutoReport","setIsAutoReport","setReportTemp","_reportName","setReportName","reportColumns","gettingFilter","setGettingFilter","gettingReport","atCols","_reportTemp","suffix","Decimal","_data$col$key$split","_data$col$key$split2","ReportTemplateSelectByReportID","panelTemplate","headText","toggleIcon","collapsed","titleClassName","togglerClassName","onTogglerClick","Ripple","columnGap","IoArrowBackSharp","headerTemplate","toggleable","pathLoading","setTemplate","empList","setEmpList","checkReport","setCheckReport","setEditReport","dataEditReport","setDataEditReport","setbaseUrl","setIsAdmin","_fetchEmployee","t3","fetchReport","_fetchReport","userId","_fetchTemplate","empid","dataJsonn","_dataTemplatee","_fetchGetReportById","rePortId","_ReportById","fetchTemplate","fetchEmployee","Switch","Route","exact","adminActionBody","fetchGetReportById","_accept","DeleteReport","_user","checkProps","ShowContentScreen","pdfdff","pdfData","isShowPdfData","allowFullScreen","frameBorder","Empty","FlowCardComponent","setSeq","setCurrent","requestDetails","nameEn","positionNameEn","departmentNameEn","signature_en","FlowScreen","HistoryComponent","dataDialog","setDataDialog","responeWorkList","listHistoryDetails","sortDate","aa","action_date","bb","convertDate","momentObj","convertAction","formatPlatform","IoDesktopOutline","AiFillApple","AiFillAndroid","FaLine","convertPlatform","convertHtml","_comment","_textAbstract","last","textAbstract","dismissableMask","actor_name_en","actor_name_th","actor_position_name_en","actor_position_name_th","comment","platform","_data$comment","HistoryScreen","historyData","AttachmentCardComponent","comploteLink","setComploteLink","showFile","attachPath","attach_path","BsFileEarmarkPdfFill","FaFileWord","BsFileEarmarkExcelFill","FaFilePowerpoint","BsFillFileEarmarkTextFill","attach_file","actor","attach_date","AttachmentScreen","attachFiles","CommentComponent","setComment","setPlaceholder","setInvalid","dataEmployee","setDataEmployee","isLoading","setIsLoading","selectedEmployee","setSelectedEmployee","isMultiAssign","isMultiRequestComment","showAll","setShowAll","onGlobalFilterChange","dataEmp","_data$NameTh","_data$NameEn","showError","EmployeeDialogFooter","ConfirmMultiSelectEmployee","renderHeader","sentToMemo","inputComment","waiting_for_id","waiting_for","setCommentStatus","pageName","onUpdate","waitingFor","waitingForId","commentStatus","_props$lineApproval","_props$lineApproval2","_props$lineApproval2$","approvalSequence","department","signature","columnKey","BiCommentDetail","HeaderDialogComment","onInit","metaKeySelection","MemoButtonComponent","memoMenuButton","setMemoMenuButton","setRequire","mapMemoButton","memoMenu","menuData","mapMenuData","commandName","setSelectedView","setCurPage","BiSend","marginLeft","IoMdCheckmarkCircleOutline","IoMdArrowRoundBack","RiDeleteBinLine","AiOutlineSave","MdOutlineCancel","IoMdRefresh","BsArrowRight","RiFileForbidLine","GeneratePDF","_requestDetail","responeMemoDetail","responePreviewPDF","Memoid","MemoPage","BadgeNotificate","count","setCount","hasLastComment","setHasLastComment","setNotificate","dataMemo","_props$dataMemo","_props$dataMemo2","_props$dataMemo3","IsMemoHistoryLastComment","MemoHistoryAmount","MemoAttachFileAmount","_history$slice$shift","lastComment","amountAttachment","dataDetail","_data$attachfiles","attachfiles","_request$listFileAtta","action_id","amountComment","amount","Badge","dot","IC_ATTACHMENT_FILE","IC_HISTORY","isCard","Ribbon","offset","badgeSize","DetailContentScreen","_memo$requestDetails","_memo$requestDetails2","_memo$requestDetails3","onDetailLoading","page","setPage","setPdfData","setMemoMenu","setMemo","_onFetchPdf","onFetchPdf","MemoID","_Fetch","Fetch","menuButtonSort","responeData","motion","transition","animate","IoDocumentText","RiNodeTree","BsClockHistory","GrAttachment","IoOpenOutline","AnimatePresence","exitBeforeEnter","initial","opacity","SelectDate","dates","setDates","isFullWidth","showIcon","BsCalendarDate","left","onOpenChange","suffixIcon","GrFormNextLink","onCalendarChange","MultiSelectDropdown","defaultVaue","onDropdownVisibleChange","dropdownStyle","onDeselect","_selected","valueFilter","dropdownRender","flexWrap","onSelectAll","Divider","SearchFilterComponent","searchKeyword","SelectDropdown","alowClear","WorkListSideBarElementUse","_props$searchObject","_props$searchObject2","_props$searchObject3","_props$searchObject4","_props$searchObject5","_props$searchObject6","_props$searchObject7","_props$searchObject8","_props$searchObject9","_props$searchObject10","_props$searchObject11","searchObject","keyword","BsListTask","onSelectTask","defaultTask","RiListCheck2","formStatus","IoNewspaperOutline","formType","BiBuildings","allCompany","allDepartment","WorklistCardComponent","dataUrl","setDataUrl","isCommentActive","setIsCommentActive","amount_label","currentMemoId","resposeComment","_requestor","Requestor","setContent","setOnDetailLoading","Subject","IsDelegated","delegateMemo","FaChevronRight","WaitingFor","taskGourp","GetWorkListByTaskGroup","employees","todoFormatDate","todoFormatWaitingFor","todo","_todo","_emp","GetAllHistory","GetApprovalByTemplate","GetAllApprovals","_worklist$slice","workListData","setWorkListData","dtWorkListData","setDTWorkListData","formTypeOptions","setFormTypeOptions","companiesOptions","setCompaniesOptions","departmentsOptions","setDepartmentsOptions","formStatusOptions","setFormStatusOptions","setSearchObject","currentPage","setCurrentPage","itemPerPage","setItemPerPage","setIsShowPdfData","isCardLoading","setIsCardLoading","toggleDetail","setToggleDetail","sidebarState","setSidebarState","setCurrentMemoId","taskHeader","setTaskHeader","currentIndex","setCurrentIndex","selectedCard","setSelectedCard","setDefaultTask","setTaskGourp","setGetMemoDetail","_itemPerPage","indexOfLastPost","indexOfFirstPost","onpopstate","onbeforeunload","fetchWorklist","task","dateFrom","dateTo","actionBack","_userData$EmployeeId","dataWorklist","selecteCard","_taskHeader","_currentMemoId","sidebar","_args","iItemPerMore","CountMoreItem","FilterDateFrom","toISOString","FilterDateTo","initialWorklistOption","worklist","_formTypeOption","_formStatusOption","_companiesOption","_departmentsOption","resultFormTypeOption","resultFormStatusOption","resultAllCompanyOption","resultAllDepartmentOption","DepartmentName","_Object$entries3","_Object$entries3$_i","_Object$entries4","_Object$entries4$_i","onUpdateMemo","_getMemoDetailById","listControlRunning","_autoNumFormat","templateDescJson","_ActionMemoPage","desc","getElementsByTagName","overflow","is_text_form","detechAutonumberFormula","CheckSaveAutonumber","listRefDocDetails","_autoFormats","templateId","autoTemp","gg","newRunning","checkAuto","checkNum","RunningNumber","_requestor$EmployeeId","_memoDetail","_dataAttachfiles","_dataApprovals","memoButton","_dataMemobutton","_dataHistory","Permission","View","subtract","formSelect","rawObject","_worklist","filterStatusWorklistCard","filterCompanyWorklistCard","filterDepartmentWorklistCard","filterFormWorklistCard","_searchObject$keyword","_todo$DepartmentName","_todo$TemplateName","_todo$CompanyName","_todo$Status","_todo$DocumentNo","_todo$Subject","_waitingFor$NameEn","_requestor$NameEn","_requestor$NameTh","_keyword","filterKeywordWorklistCard","IoMenu","numItem","Pagination","defaultCurrent","LoginScreenOpenId","GetOpenId","PathCodeUrl","onSubmitLoginOpenId","_loginOpenId","redirect","_loginOpenId$employee","PrivateRoute","authenticationPath","setRedirectPath","routeProps","currentLocation","paramString","_codeUrl","sessionContext","updateSessionContext","chaeckLastActtion","lastAction","diffMilliseconds","masterData","timeout","_masterData$find","_masterData$find2","abs","Redirect","ErrorPageComponent","AddQueryComponent","selectedValue","setSelectedValue","_items","attributeButton","setAttributeButton","setViewModal","onSaveQuery","IoSaveOutline","viewModal","hideInPdf","HiPlus","idx2","_data$layout$idx","_data$layout$idx$para","_data$layout$idx2","_data$layout$idx2$con","BsTrash","deleteAttributeButton","_props$template$attri3","_props$template$attri4","_props$template$attri5","setLinkFile","maxFile","uploadFileState","_props$uploadFileStat","_props$uploadFileStat2","_response$data2","_response$data3","_response$data4","_response$data5","_response$data6","setUploadFileState","fromRender","openLink","RiDeleteBack2Line","AddConditionComponent","_conditions$condition","selectedFormName","setSelectedFormName","selectedFormValue","setSelectedFormValue","setDefaultValue","defaultValueItem","setDefaultValueItem","setConditions","actionConditions","setActionConditions","idxConditions","setIdxConditions","_props$attributeNumbe","_condition","attributeNumber","attributeIdx","_props$advanceForm$it","arrayItem","arrayDataItem","_dataLayout","_dataItem","_formats","setAttributeNumber","setConditionViewModal","Save","conditionViewModal","dataRequestValue","onSaveToCondition","RiEditLine","deleteCondition","_props$title","curPage","onSelectView","checkTypeIcon","AddPreFixComponent","_formats$format","setFormats","setDateFormat","formatsIdx","setFormatsIdx","saveToFormatAction","setSaveToFormatAction","selectedCondition","setSelectedCondition","symbolValue","setSymbolValue","positionValue","setPositionValue","_format","dtformat","_attribute","SavePreFix","rowGap","BiFont","AiOutlineFileText","AiOutlineCalendar","onSaveToFormat","DragDropContext","onDragEnd","_components","destination","list","startIndex","endIndex","_result$splice","removed","reorder","source","Droppable","droppableId","provided","snapshot","_formats$format2","innerRef","Draggable","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","updateFormat","deleteFormat","AutoNumberComponent","setAttributeIdx","_data$condition","deleteAutoNumber","CalendarDefaultValueGroup","CalendarComponent","_props$template$attri6","_props$template$attri7","_props$template$attri8","_props$template$attri9","_props$template$attri10","defaultType","setDisabled","ChoiceComponent","setInput","setCheckBoxRequire","handleKeyDown","cellEditor","editorCallback","textEditor","onCellEditComplete","newValue","rowEditor","MultiChoiceComponent","displayDropdown","dropdown","setDropdown","setDisplayDropdown","idex","tooltip","tooltipOptions","DropdownComponent","checkBoxRequire","_props$itemsList$item","TemplateModal","_props$data","contentEditor","setContentEditor","_props$data2","setRichText","IoDocumentTextOutline","checkBoxHeading","displayCheckBox","setCheckBoxHeading","NumberComponent","_props$template$attri11","_props$template$attri12","_props$template$attri13","_props$template$attri14","_props$template$attri15","_props$template$attri16","_props$template$attri17","_props$template$attri18","_props$template$attri19","_props$template$attri20","setDecimal","setReadonly","setMin","AddConditionModal","_props$revisionCondit","revisionConditions","conditionsIdx","newConditions","boxid","controltype","setRevisionConditions","saveConditions","BiArchiveIn","RevisionComponent","setConditionsIdx","BsX","ShortTextComponent","CreateControlSideBarElement","SideBarData","FaHeading","BiText","ImTextHeight","AiOutlineNumber","FiCalendar","IoMdRadioButtonOn","MdOutlineCheckBox","FaRegListAlt","BsTable","BsFileEarmarkRichtext","FaRegImage","CgPlayButtonO","BsSortNumericDown","BiTimeFive","SideBarDataInColumn","renderIn","_data$component","_data$component$props","_data$component2","_data$component2$prop","_data$component2$prop2","_data$component2$prop3","_data$component3","_data$component3$prop","_data$component4","_data$component4$prop","_data$component4$prop2","_data$component4$prop3","TextAreaComponent","autoResize","ColumnComponent","setComponent","control2","errors2","handleSubmit2","setFromRender","checkType","renderComponent","attributeColumn","checkActionButton","columnData","columnIdx","setAttributeColumn","_respone$control","_respone$control$temp","_respone$control2","_respone$control2$tem","_respone$control2$tem2","_respone$control3","_respone$control3$tem","_respone$control3$tem2","_respone$control4","_respone$control4$tem","_respone$control4$tem2","_respone$control5","_respone$control5$tem","_respone$control5$tem2","_respone$control6","_respone$control6$tem","_respone$control6$tem2","_respone$control7","_respone$control7$tem","_respone$control7$tem2","_respone$control8","_respone$control8$tem","_respone$control8$tem2","_respone$control9","_respone$control9$tem","_respone$control9$tem2","_respone$control10","_respone$control10$te","_respone$control10$te2","_respone$control11","_respone$control11$te","_respone$control11$te2","_respone$control12","_respone$control12$te","_respone$control12$te2","_respone$control13","_respone$control13$te","_respone$control13$te2","_respone$control14","_respone$control14$te","_respone$control14$te2","_respone$control15","_respone$control15$te","_respone$control15$te2","_respone$control16","_respone$control16$te","_respone$control16$te2","_respone$control17","_respone$control17$te","_respone$control17$te2","_respone$control17$te3","_respone$control18","_respone$control18$te","_respone$control18$te2","_respone$control19","_respone$control19$te","_respone$control19$te2","_respone$control20","_respone$control20$te","_respone$control20$te2","_respone$control21","_respone$control21$te","_respone$control21$te2","_respone$control22","_respone$control22$te","_respone$control22$te2","_data$length","_data$widthInTable","_data$decimal","_data$min","_data$max","symbolNumber","useDate","fullYear","fileTypeFile","defaultValueImage","callback","shiftKey","ReferenceDocument","_props$selectedReport5","_props$mergeColumnRef4","_props$mergeColumnRef5","_props$mergeColumnRef6","_props$mergeColumnRef7","_props$conditions","_props$conditions$con","_props$conditions2","_props$conditions2$co","visibleDocControl","setVisibleDocControl","itemsControlLabel","itemsConditionList","conditionRefDoc","conditionType","defaultValueRefDoc","setDefaultValueRefDoc","defaultValueRefDoc2","setDefaultValueRefDoc2","defaultValueReport","setDefaultValueReport","actionSubmit","setActionSubmit","defaultValueDocControl","defaultValueDropDown","_props$mergeColumnRef","_props$mergeColumnRef2","mergeColumnRefDoc","columnRefDoc","_props$mergeColumnRef3","array2","arr3","setMergeColumnRefDoc","_fetchMyAPI","fetchMyAPI","MapData","dafault","setSelectedTemplateRef","mapDefaultData","_fetchDataTemplateById","fetchDataTemplateById","selectedReportRef","_newValueAlterSelected","newValueAlterSelected","setValueConfigColumnTable","selectedTemplateRef","_props$selectedReport","_props$selectedReport2","_props$selectedTempla","_props$selectedTempla2","mapper","_props$selectedReport3","_props$selectedReport4","selectedFieldList","_props$selectedTempla3","_props$selectedTempla4","_array2","_data3","prototype","setDefaultConfigColumn","AdvanceForm","defaultConfigColumn","setSelectedReportRef","_props$selectedReport6","_props$selectedReport7","templateCode","arrayCode","_response2","_dataReportTemplate","setDocDataSource","_selectedReportById","idReport","arrayReport","arrayMerge","optionGroupChildren","_props$selectedDocCon","_props$selectedDocCon2","_props$selectedDocCon3","selectedDocControlTemplate","setSelectedDocControlTemplate","renderIsDocControl","_e$value","selectedReportById","_val","_props$conditions3","_props$conditions3$co","_props$conditions4","_props$conditions4$co","_props$conditions5","_props$conditions5$co","_props$conditions6","_props$conditions6$co","_props$conditions7","_props$conditions7$co","_props$conditions8","_props$conditions8$co","maxHeight","FooterTableComponents","_props$footerTable2","_props$footerTable2$r","footerData","setFooterTable","_props$footerTable3","_props$footerTable3$r","_props$footerTable5","_props$footerTable5$r","_props$footerTable7","_props$footerTable7$r","_props$footerTable10","_props$footerTable10$","_props$footerTable4","_props$footerTable6","_props$footerTable8","_props$footerTable9","_props$footerTable","_footerTable","deleteFooterTable","setLayoutIdx","activeIndex","setActiveIndex","TabMenu","onTabChange","deleteColumn","ImageComponents","widthControl","setWidthControl","heightControl","setHeightControl","fileTypeImage","preview","ModalCreateComponents","richText","_itemsLength","itemIdx","_templatesDes","templatesDes","_templatesDes$attribu","defaultCheckBoxHeading","defaultValueReportTable","defaultValueTemplateTable","defaultValueFooterTable","defaultValueConfigColumnTable","_templatesDes$attribu2","_templatesDes$attribu3","_templatesDes$attribu4","_templatesDes$attribu5","_templatesDes$attribu6","_templatesDes$attribu7","_templatesDes$attribu8","_template","_templatesDes$attribu9","docRef","setDefaultValueDocControl","_templatesDes$attribu10","_templatesDes$attribu11","_templatesDes$attribu12","_templatesDes$attribu13","_templatesDes$attribu14","_templatesDes$attribu15","_templatesDes$attribu16","_templatesDes$attribu17","_templatesDes$attribu20","_templatesDes$attribu21","_templatesDes$attribu22","_templatesDes$attribu23","_templatesDes$attribu18","_templatesDes$attribu19","_templatesDes$attribu24","_templatesDes$attribu25","_templatesDes$attribu26","_array","_templatesDes$attribu27","_templatesDes$attribu28","_templatesDes$attribu32","_templatesDes$attribu33","_templatesDes$attribu37","_templatesDes$attribu38","_templatesDes$attribu29","_templatesDes$attribu30","_templatesDes$attribu31","_newDoc","docNewDocArray","newDoc","_templatesDes$attribu34","_templatesDes$attribu35","_templatesDes$attribu36","_docEditDoc","docEditDocArray","_template2","_templatesDes$attribu39","_templatesDes$attribu40","_templatesDes$attribu41","_docCancelDoc","docCancelDocArray","_template3","templates","_templates","requestDataToLayout","updateChanges","checkUnique","defaultDataValue","_defaultDataValue","_dataRequest2","_defaultDataValue2","_dataRequest3","_defaultDataValue3","_dataRequest4","_defaultDataValue4","_dataRequest5","_defaultDataValue5","_dataRequest6","_defaultDataValue6","_dataRequest7","_defaultDataValue7","_selectedReportRef$do","_selectedReportRef$do2","_selectedTemplateRef$","_dataRequest8","_defaultDataValue8","_dataRequest9","_dataRequest10","defValue","_defaultDataValue9","_data$width","_data$height","_dataRequest11","_defValue","_defaultDataValue10","_dataRequest12","_defaultDataValue11","_dataRequest13","_defaultDataValue12","_dataRequest14","_defaultDataValue13","index2","_dataLayout$template$","labelHeading","autoRowNumber","textButton","setVisibleCreateControl","visibleCreateControl","TinyMceComponent","loadingTextFromValue","setLoadingTextFromValue","textFromValue","setTextFromValue","FormSettingComponent","viewModalControl","setViewModalControl","setItemsIdx","setLayoutLength","column1","column2","findUnique","viewManageComponent","setViewManageComponent","setControlModel","IsTextForm","BsFileEarmarkText","BsFileFont","droppableProps","_data$template","_data$template2","no_words","deleteControl","unique","newCol1","unique1","unique2","newCol2","copyLayout","BiCopyAlt","deleteLayout","SelectCondition","_selectedColumn$contr","_selectedColumn$contr2","setSelectedColumn","setOptions","numCondition","setNumCondition","isMultiValue","setIsMultiValue","multiOptions","setMultiOptions","multiValues","setMultiValues","isCheckBox","setIsCheckBox","updateData","SelectDataFormTable","setGlobalFilterValue1","global","filters1","setFilters1","globalFilter","_filters1","headerStyle","AddMatrixForm","positionLevelOptions","setPositionLevelOptions","matrixOptions","setMatrixOptions","setShowDialogFootter","maxLevel","setMaxLevel","setPositionLevel","approvalMatrixDD","setApprovalMatrixDD","setConditionsValue","specficApprovals","setSpecficApprovals","dialogTitle","setDialogTitle","dialogBody","setDialogBody","loadingSelectData","setLoadingSelectData","defSignatureID","setDefSignatureID","temSeq","setTemSeq","loc","setLoc","dtp","setDtp","doa","setDoa","spc","setSpc","isParallel","setIsParallel","parallelType","setParallelType","approveSlot","readHide","setReadHide","isRead","setIsRead","isHide","setIsHide","isNewReq","setIsNewReq","templateSelected","setTemplateSelected","_useState57","_useState58","setTemplateSelectedField","labelStyle","fontStyle","ColumnJsonCondValue","actionFeild","isRequester","ReadHide","MaxLevelId","Line_of_Command","Direct_to_Position","matrixList","Approval_MatrixId","Design_of_Authority","Specific_Approver","spc_isParallel","IsParallel","IsApproveAll","approverSlot","ApproveSlot","setDefValue","signatureList","masterId","componentName","specific_Approver","TemLineId","EmployeeName","SpecificTypeId","SignatureID","_fetchMatrixData","matrix","_callSelectUserDialog","_callSelectRoleDialog","fetchMatrixData","_fetchTemplatData","fetchTemplatData","allApproveLength","templateCol","OnchangeTemplate","templateChange","FiPlus","callSelectUserDialog","callSelectRoleDialog","SignatureId","ApproveMatrix","redundant_Approver","setRedundant_Approver","auto_Approve","setAuto_Approve","allApprovals","setAllApprovals","selectedApprovals","setSelectedApprovals","setTemplateLogics","setDialogMode","onRedundantChange","AutoApprove","ApproverCanEdit","IsCheckAccess","GetApproveType","ApproveTypeId","TemLineApprove","spc_approval","TemplateLogic","approval","LstCondition","Tem_LineId","_approval","ApprovalMatrixId","eIdx","logicControl","cons","methodtype","InsertType","amountstatus","Logictype","Jsonvalue","setLogicsApprover","specificApprovers","controlModel","spcApprove","tem","_ColumnJson","spcApproves","maxLevelName","matrixId","Leng","GetMatrixData","MaxLevelName","maxLevelId","GetMaxLevelName","setAllApprovalsForControl","AutoApproveWhen","AddMatrixCondition","appSpcific","_rowData$Conditions","_rowData$Conditions$C","allSelected","RiFileCopy2Line","newSpcApprovals","approveType","_ColumnJsonCondValue","spc_isApproveAll","CheckboxCpmponents","notLable","InformationComponents","_props$checkValidatio","_props$InformationDat","_props$InformationDat2","_props$InformationDat3","_props$InformationDat4","_props$InformationDat5","_props$InformationDat6","_props$InformationDat7","_props$InformationDat8","_props$InformationDat9","_props$InformationDat10","_props$InformationDat11","_props$InformationDat12","_props$InformationDat13","_props$InformationDat14","_props$InformationDat15","_props$InformationDat16","InformationDataProps","filteredAutoComplete","setFilteredAutoComplete","setKey","setIsloading","setDepartmentSelect","toSelect","setToSelect","ccSelect","setCcSelect","toName","setToName","ccnName","setCcName","setCategoryFilter","isMobile","setIsMobile","toValue","setToValue","CCValue","setCCValue","checkDevice","isMobileDevice","navigator","userAgent","dataToAndCC","_dataToAndCC","_to","_cc","_employeeData","_toArray","_toName","_ccArray","_ccName","ToId","CcId","_event","ExpiredDate","RegisteredDate","_fechDepartment2","_fechDepartment","_fechEmployee2","_fechEmployee","showDialogEmp","setShowDialogEmp","employeeList","_props$InformationDat17","_Department","_dataFilterDepartmentId","_department","_props$InformationDat18","_CheckboxCpmponents","_CheckboxCpmponents2","setControlModelObj","_InputText","_InputText2","selecteOrTypeListInToAndPass","_AutoComplete2","_ToArray","_CcArray","searchAutoComplete","_filteredEmployee","dataemployee","customModalStyle","filterToCC","destroyAll","columnsTo","danger","RiDeleteBin6Line","columnsCC","showMore","insertDataByEnter","toArr","ccArr","auto","checkValidation","_filtered","isVersion","TemplateSubject","isPDFShowInfo","ReportLang","isRequesterEditApproval","isFormControl","RequiredAttachment","TemplateDetailSideBarElement","sideBarData","setSideBarData","isEnabledPDFDesign","_sideBarData","IoAlertCircleOutline","BsNewspaper","IoPeopleOutline","IoShieldCheckmarkOutline","isCopy","isDialogVisibleProps","dataProps","findData","setDataProps","showModalProps","searchDataProps","onRowSelect","onRowSelectProps","setisDialogVisibleProps","sortField","sortOrder","AuthorizationTableDepartment","departmentSelect","departmentPlaceholderDropdown","setDepartmentPlaceholderDropdown","_arrayNull","departmentListProps","departmentRequestProp","depID","depaction","_dataMap","_arrayFilter","departmentManageProp","gatPlaceholder","depname","setValueProps","_setDepartmentSelect","AuthorizationDepartmentModel","departmentSelectManage","setDepartmentSelectManage","departmentSelectRequest","setDepartmentSelectRequest","onSave","setVisibleProps","globalFilterValueTemplate","visibleProps","_Arrayfilters","AuthorizationPermissionModel","_permissionType$formc","_permissionType$formc2","_permissionType$formc3","_permissionType$formc4","_advanceFormLabal$","_permissionType$formc5","_permissionType$formc6","_permissionType$Permi","_permissionType$Permi2","_permissionType$Permi3","permissionType","setPermissionType","setRole","roleName","setRoleName","advanceFormLabalSelect","setAdvanceFormLabalSelect","ValueType","valueType","setValueType","Informition","informition","setInformition","setCompany","setDepartment","departmentName","setDepartmentName","companyAction","setCompanyAction","companyActionEdit","setCompanyActionEdit","advanceFormLabal","setAdvanceFormLabal","RoleValidation","DepartmentValidation","CompanyValidation","validation","setValidation","editTablePermissionProps","permissiontype","arrayRole","ids","dataRole","_props$editTablePermi","arrayDepartment","companyData","CompanyId","_advanceFormJson$item","actionProps","_arrayAdvanceFormLabal","__data","_arrayColumn","_Informition","formcontrol","labelInformition","Information","_advanceFormJson","advanceFormProps","_arrayRolePermission","Print","Copy","_objTable","Description","setDataTable","setDataAuthorization_view","labeltype","labelcolumnname","labelvaluetype","dataFile","Authorization_view","setDataAuthorization_viewEdit","_uuid","uuidv4","Download","labelvalue","_arrayRole","_arrayRoleName","_dataRole","_Role","typee","_arrayCompany","_dataCompany","_Company","_arrayDepartment","_arrayDepartmentName","_newData","AuthorizationComponent","_props$controlModel","_props$controlModel$A","_props$controlModel2","_props$controlModel2$","visibleModel","setVisibleModel","visiblePermissionModel","setVisiblePermissionModel","roleManage","setRoleManage","companyManage","setCompanyManage","companyRequest","setCompanyRequest","roleRequest","setRoleRequest","departmentManage","setDepartmentManage","departmentCompanyManage","setDepartmentCompanyManage","departmentCompanyRequest","setDepartmentCompanyRequest","departmentRequest","setDepartmentRequest","objectDataAuthorizationProps","Employee","permissionTable","setPermissionTable","setAuthorization_view","keyAuthorization_view","setKeyAuthorization_view","editTablePermission","setEditTablePermission","_SpecificEmployeeId","SpecificEmployeeId","_specificArray","dataTo","RoleID","_GameRoleID","SpecificRoleID","Authorization_manage_department","_DepartmentData","Authorization_request_company","_arrayManageCompanyDepartment","_ManageCompany","_arrayManageCompany","companyDataFilter","Company","_dataFilterCompany","Authorization_manage_company","Authorization_request_department","_DepartmentGetJson","_arrayRoleTable","_dataTable2","_dataAuthorization_view2","_dataAuthorization_viewEdit2","_VisibleModel","_onDeleteRow","dataRow","_arrayPush","_arrayPushPermissionTable","roleDataFilter","Role","_specificEmployeeId","_RoleIdManage","_RoleIdRequest","_CompanyManage","_CompanyRequest","Name","_VisibleEditModel","VersionAndHistoryTable","previewVersionTemplate","_previewVersionTemplate","documentCode","getUrl","baseUrl","ModifiedByName","VersionAndHistoryComponents","setVersionCheckProps","SetVersionDataProps","VersionDataProps","templateListVersionHistoryProps","VersionTempVCProps","ObjectDataAuthorizationProps","version","Boolean","value3","value5","VersionCheckProps","value4","versionCheckProps","dataCompany","TableTemplateDialogComponentsFixed","refTemplateList","rowSelectedData","onSaveObjTable","objectTable","setObjectTable","convertType","_type","hide","onShow","Template","dragSelection","_newObj","ReferenceDocumentDialogFix","listRefTemplateProps","templateList","visibleRefenceDocumentDialog","setVisibleRefenceDocumentDialog","Display","Affiliation","Quarter","ReferenceAttachment","IsDefaultLineApprove","DocControl","selectField","tableDialog","listRefTemplate","rowDataTable","ReferenceForm","TemplateNewDoc","TemplateEditDoc","TemplateCancelDoc","SaveDataTable","referenceDocumentDialogObject","setReferenceDocumentDialogObject","searchTemplateList","setSearchTemplateList","setSelectField","tableRefDialog","setTableRefDialog","tableRefData","setTableRefData","tableRefDialogHeader","setTableRefDialogHeader","templateAddCodeMulti","setTemplateAddCodeMulti","selectFieldtoshow","setSelectFieldtoshow","listMasterData","setListMasterData","onShowDialog","_templateForm$RefDocD","_listRefTemplateProps","docControl","mappingLstMaster","defaultRefModel","templateAddCode","_IsDocControl","isDocControl","D_NewTpl","D_EditTpl","D_CanTpl","dynamicSelect","_lstMasterData","lstMasterData","_lstMasterData$find","_lstMasterData$find2","_lstMasterData$find3","_lstMasterDataSplitD_NewTpl","masterType","_lstMasterDataSplitD_EditTpl","_lstMasterDataSplitD_CanTpl","seltectItems","_RefDocColumn","selectedCol","objs","newOBJ","selectedOBJ","_ReferenceDocumentDialog","_Object","_controlModel$templat","_e$selectedValue","_e$selectedValue2","_e$selectedValue3","_controlModel","lstMastData","_list","newTplId","editTplId","canTplId","requestModelD_NewTpl","createdBy","createdDate","modifiedBy","modifiedDate","requestModelD_EditTpl","requestModelD_CanTpl","lstMastDataFunction","_MapSelectTable","_MapSelectTable2","_arraySelect","_referenceDocumentDialogObject","_MapSelectTableItem","_MapSelectTableItem2","_arraylayout","getOptions","first","_refObject","_rowData$selectedValu","_referenceDocumentDia","_refTemp","_selectField","ReferenceDocumentComponentsFix","_props$listRefTemplat","_props$listRefTemplat2","isLoadTemplate","setIsLoadTemplate","mstTemplateList","setMstTemplateList","fecthRefTemplate","newRef","onClickAction","filterRefDocColum","controlModelObj","ReferenceInformationDialog","refInformation","listRefInformationProps","setRefInformation","setLogicsRefIn","refLogic","requestSelected","setRequestorSelected","requestField","setRequestorField","_fetchRequestorData","fetchRequestorData","refValue","arrayRef","ReferenceInformation","referenceData","setReferenceData","setRefLogic","dataValue","_props$dataLogic","fecthRefInformation","Logics","cMSTTemplateLogic","PDFEditorContext","PDFEditorProvider","w","h","static","minW","layoutType","paperLayout","setPaperLayout","doctype","pageAmount","gridSize","isDragingFromOutSide","pageProperty","setPageProperty","selectionBlock","setSelectionBlock","refHtml","updatePageProperties","prevSettings","addLayout","parent","targetParent","childList","round","minH","tempAttibute","fontFamily","isBold","isItalic","isUnderlined","hAlign","vAlign","urlLink","hideLabel","onSelectPropertyChange","_selectionBlock","newLayout","_layout$children","child","onDeselected","removeSelectedChild","_e$children","usePDFEditor","PDFCompontButton","unselectable","onDragStart","dataString","dragingType","PDFToolBar","reportTem","controlItem","setControlItems","getItems","getIcon","CollapsePanel","_e$template","_item$template","_item$template2","_item$template3","_item$template4","fontStyte","TabsButton","activeKey","setActiveKey","ColorPicker","onChageColor","overlayClassName","SketchPicker","hex","onChangeComplete","BgColorsOutlined","PDFEditorToolBar","_tabsItems$find","fontList","_usePDFEditor","controlProperty","setControlProperty","isLinkModalOpen","setIsLinkModalOpen","linkUrl","setLinkUrl","ConfigProvider","config","theme","primaryColor","imagmeToolComponent","backgroundSize","newProps","textToolComponent","BoldOutlined","ItalicOutlined","UnderlineOutlined","AlignLeftOutlined","AlignCenterOutlined","AlignRightOutlined","VerticalAlignBottomOutlined","VerticalAlignMiddleOutlined","VerticalAlignTopOutlined","LinkOutlined","_selectionBlock$templ","tabsItems","centered","_e$children2","StaticInput","_template$attribute3","_template$attribute4","_template$attribute5","_template$attribute6","_template$attribute7","_template$attribute8","resize","StaticImage","onUploadComplete","imageUrl","setImageUrl","getLink","imgUrl","uploadButton","LoadingOutlined","PlusOutlined","backgroundImage","backgroundRepeat","backgroundPosition","Upload","listType","beforeUpload","isImage","showUploadList","uploadedFile","originFileObj","DropableComponent","paperWidth","rowHeight","setPreviewImage","setSelectedImg","tableDisplay","keyCode","renderContent","_layout$template$attr6","_layout$template$attr7","_layout$template$attr8","_layout$template2","_layout$template2$att","isStaticText","isSelected","childrenLayout","_layout$template3","_layout$template$attr9","_layout$template$attr10","_layout$template$attr11","_layout$template$attr12","_layout$template$attr13","_layout$template$attr14","_layout$template$attr15","_layout$template$attr16","_layout$template$attr17","_layout$template$attr18","resizeHandles","isDraggable","isResizable","isBounded","GridLayout","isDroppable","containerPadding","allowOverlap","preventCollision","onDragStop","layouts","_e$children3","onResizeStop","_e$children4","onDrop","getData","PaperLayout","WidthProvider","Responsive","_pageProperty$pageSiz6","_refPaper$current5","scale","refPaper","_refPaper$current","parentElement","_refPaper$current2","_refPaper$current2$pa","_refPaper$current3","_refPaper$current3$pa","boardWidth","clientWidth","boardHeight","clientHeight","offsetX","transform","handleZoom","breakPages","lines","top","renderedPaperLayout","_refPaper$current4","offsetWidth","onResize","_refPaper$current6","bodyElement","querySelector","HTMLElement","_pageProperty$pageSiz","_pageProperty$pageSiz2","_pageProperty$pageSiz3","_pageProperty$pageSiz4","_pageProperty$pageSiz5","checkForNewPage","offsetHeight","oldItem","newItem","PDFTemplateComponent","templatePDF","setScale","isEnabled","setIsEnabled","JsonLayout","JsonProps","genFormat","requestResult","_refHtml$current","elements","allDivElement","tableCount","tempAfter","beforeTb","isBeforeTb","afterTb","tableControl","Alabel","html","getDivForTemplate","_tempAfter","_step2","_iterator2","HeaderLayout","BodyLayout","FooterLayout","tempDiv","cloneNode","outerHTML","right","ZoomOutOutlined","ZoomInOutlined","createVersionMasterData","createFormControl","isPublic","TemplateDetail","TextForm","IsEdit","DepID","DocTypeCode","TemplateType","PDFLanguage","Location","To","CC","TemplateDesc","LineOfCommand","MaxLevelID","SpecificApprover","DOA","ApprovalMatrixID","CC_Viewer","ApproverCanEditContent","Modified","MultiDeptId","ReqAttach","AutoStartTemplate","AutoStartColumn","AdvanceRefCondition","specificTempApprovers","VEmployee","cMSTApprovalMatrix","cMSTPositionLevel","cMSTCompany","cMSTMasterData","_controlModel$templat15","_controlModel$templat16","_controlModel$templat17","selectView","setSelectView","setControlVersionModel","createVersionMasterModel","setCreateVersionMasterModel","groupTemplateName","setGroupTemplateName","templateNameWithCode","setTemplateNameWithCode","setTemplateId","isDelete","setIsDelete","isCopyValue","setIsCopyValue","setIsVersion","setIsLoad","positonLevelList","setMatrixList","setVersion","versionStatus","setVersionStatus","versionCheck","setVersionCheck","setReportTem","setFontList","sinatureOptions","setSinatureOptions","versionTempVC","setVersionTempVC","templateListVersionHistory","setTemplateListVersionHistory","_useState59","DepartmentManage","DepartmentRequest","_useState60","objectDataAuthorization","setObjectDataAuthorization","_useState61","_useState62","validationInformation","setValidationInformation","_useState63","_useState64","logicsApprover","_useState65","_useState66","logicsRefIn","_useState67","_useState68","setDataLogic","intiFunc","_isCopyValue","_fetchPositionLevel","fetchPositionLevel","_fetchMatrix","fetchMatrix","_fetchMasterData","fetchMasterData","_fetchDataAuthorization","fetchDataAuthorization","_templateVersionCode","_versionTemplate","_versionFunction","versionFunction","companies","_dataFilterDepartment","signatrue","allHistory","_fontList$","_fontList$$Value","_templateList","_templateIdList","_dataLogic","_templateIdList2$temp","_templateIdList2$temp2","_templateIdList2$temp3","_templateIdList2","_dataLogic2","TemplateVersionCode","VersionTemplate","versionTemplate","refTemplateByEditFunction","advanceFormByEditFunction","_dataVersion","_arrayVersion","_dataVersionTempVC","_templateListVersionHistory","_refTemplateByEditFunction","_RefTemplate","_dataTemplatetMasterData","_dataAuthorizationMasterData","_manage_company","_manage_department","_request_company","_request_department","_Authorization_view","_manage_companyArrayIndx0","_request_companyArrayIndx0","_manage_departmentArrayIndx0","_request_departmentArrayIndx0","Authorization_for_ViewIndx0","lstMasterDataByEditFunction","_lstMasterDataByEditFunction","_MasterData","_dataTemplatetMasterDatafilter","_templateIdList$templ","addTemplateDetail","_addTemplateDetail","previewTemplate","_previewTemplate","_userData$EmployeeId2","_userData$EmployeeId3","_cMSTTemplateLogic","_dataTemplateByDocTypeCode","_history","_control$templateForm","_templateListVersionH","_userData$EmployeeId4","_controlModel$templat2","_controlModel$templat3","_controlModel$templat4","_controlModel$templat5","_controlModel$templat6","_checkValidationOBJ","_controlModel$templat7","_controlModel$templat8","_controlModel$templat9","_controlModel$templat10","_controlModel$templat11","_controlModel$templat12","_controlModel$templat13","_controlModel$templat14","_checkValidationOBJ2","_userData$EmployeeId5","cMstMasterData","responeAddTemplate","typeTemplate","go","isActiveTemp","FaRegCopy","MdPreview","minWidth","isLoadProps","stateProps","ForgotPasswordScreen","haveKey","setHaveKey","isSuccess","setIsSuccess","remark","setRemark","confirm_password","checkKey","FiChevronLeft","goBack","autoComplete","DelegateApplyTo","delegateTemplate","setDelegateTemplate","selectedCustomers","setSelectedCustomers","fetchDelegateTemplate","delegateData","DelegateList","templateData","_delegateDetail","DelegateDetail","current_sorted_idx","setDelegateData","filterPlaceholder","DescriptionConfigComponent","setDescription","saveChange","_listAttach","Index","modified_date","setVisibleStatus","BiCommentEdit","visibleStatus","DelegateInformation","_props$delegateData","attachData","setAttachData","fileData","setFileData","requestFile","setRequestFile","setPathData","descriptionValue","setDescriptionValue","setEmployeeData","currentModal","setCurrentModal","isDialogApproverVisible","setIsDialogApproverVisible","approverTextFilter","setApproverTextFilter","setApprover","dateRange","deleteVisible","setDeleteVisible","descriptionRespone","rowDeleted","setRowDeleted","setSearchEmployee","DelegateToId","delegater","setDelegater","_date","_attachmentData","AttachmentList","_delegater","attachment","ActorId","DateFrom","DateTo","formatDateTimeToMoment","formatDateTimeWithSlash","formatDateTimeAttachment","rowDelete","reoderSequence","_onUploadFile","attachWorkList","lastFile","NewDate","newFile","AttachedDate","AttachFile","FileName","FilePath","onError","userName","showModalApprover","usePeriod","setUsePeriod","BiUpload","confirmDialogfunction","sequenceIndex","DelegateSideBar","DelegateScreen","attachmentData","setAttachmentData","errorState","setErrorState","delegateId","setDelegateId","fetchDelegate","fetchAttachment","DelegateId","_delegateData","_attachList","valid","onDelete","jsonData","MdDeleteOutline","getAllEmailTemplate","getEmailTemplateById","AddEmailTemplate","updateEmailTemplate","EmailTemplateDetail","_Dropdown","_EmailTemplate2","_getEmailTemplate","_EmailTemplate","_textEditor","EmailBody","_clickSelectProps","clickSelectProps","_textEditoPropsr","_clickSelectText","EmailTo","FormState","EmailCC","EmailSubject","createEmailTemplate","EmailTemplateId","TemplateDocumentCode","CreatedByName","setDataTreeSelectProps","setFormSelect","clickSelect","setClickSelect","formSelectLabel","setFormSelectLabel","emailTemplateObj","setEmailTemplateObj","_onSave","_emailTemplateObj","_dataEdit","_responeData","_templateDropdown","_fetchEmailTemplateById","_dataAdvanceForm","layoutLabel","_emailTemplateId","fetchEmailTemplateById","onClickSelect","SimLineSideBar","InitialComponent","nameTh","ResultComponent","DashboardCard","_props$dashboard","_props$dashboard2","dashboard","TextAbstract","_data$items","headData","colorValue","statusCard","_color","_color$split","_color$split2","Memo_StatusName","endpoint","RiDatabase2Line","DashboardCalendar","dataCalendar","setDataCalendar","setDefaultValueDashboard","_mapData","_color$split3","_color$split4","allDay","renderStatusView","_status","_status$split","_status$split2","displayName","_element$split","_element$split2","tt","_dd","zz","zz15","priority","valueDropdownInCalendar","FullCalendar","dayGridPlugin","timeGridPlugin","interactionPlugin","initialView","weekends","eventClick","jsEvent","headerToolbar","center","dayMaxEvents","events","DashboardTimeline","dataTimeline","setDataTimeline","dataGroups","setDataGroups","rightTitle","start","end","bgColor","itemProps","onMouseUp","sideBarWidth","setSideBarWidth","Timeline","groupIdKey","groupTitleKey","groupRightTitleKey","itemIdKey","itemTitleKey","itemDivTitleKey","itemGroupKey","itemTimeStartKey","itemTimeEndKey","groupLabelKey","groups","defaultTimeStart","defaultTimeEnd","itemHeightRatio","canMove","canResize","stackItems","sidebarWidth","TimelineHeaders","SidebarHeader","getRootProps","MinusCircleOutlined","PlusCircleOutlined","DateHeader","unit","GetAllProject","itemFilter","setResponeConfig","op","ref2","isMounted","filterGroupBy","setFilterGroupBy","dataFilterGroupBy","setDataFilterGroupBy","ItemsStatus","setItemsStatus","dataAdvancedFilter","setDataAdvancedFilter","dataAdvancedFilterList","setDataAdvancedFilterList","setDashboard","setFilter","selectedFilter","setSelectedFilter","setEndpoint","onSetSelectView","setStatusCard","setEmployeeList","project","setProject","selectedProject","setSelectedProject","setSelectedStatus","keyEnter","setKeyEnter","onClickFilter","setOnClickFilter","filterAttribute","setFilterAttribute","isOpenDateFilter","setIsOpenDateFilter","setValueDropdownInCalendar","isFetchData","setIsFetchData","responseConfig","_filter","_responeDefaultAdvanced","_endpoint","_advancedFilter","_filterGroupBy","_statusCard","_mapGroupData","defaultAdvancedFilter","FilterAdvanceSearch","MapDataEndpoint","MapGroupData","fetchProject","defaultFilterStatus","_defaultAdvancedFilter","_filterStatus","_defaultFilter","dataMapping","_dataItemFilter","_fieldText","_fieldType","_fieldTextFrom","_fieldTextTo","_filterParameter","fieldType","fieldTextFrom","fieldTextTo","_itemFilter","fieldDisplay","fieldCode","fieldSpited","fieldText","_data$split2","userPrincipalName","connectionString","_fetchProject","_Project","arrayProject","ProjectName","_defaultFilterStatus","sleep","ms","timeoutHandler","_timeoutHandler","globalFilterInput","advancedSearch","_advancedSearch","_filterAttribute$item17","_filterAttribute$item18","_filterAttribute$item19","_filterAttribute$item20","responeTest","_dropdown","_dropdown$dropdown","_dropdown$dropdown2","_dropdown$dropdown3","_dropdown$dropdown4","statusValue","_dropdown$value$","_dropdown$value$2","_dataArray2","jj","_element$data","OverlayPanel","_op$current2","_op$current3","_filterAttribute$item","_filterAttribute$item2","_filterAttribute$item3","_filterAttribute$item4","_filterAttribute$item5","_filterAttribute$item6","_filterAttribute$item7","_filterAttribute$item8","_filterAttribute$item9","_filterAttribute$item10","_filterAttribute$item11","_filterAttribute$item12","_filterAttribute$item13","_filterAttribute$item14","_filterAttribute$item15","_filterAttribute$item16","nameValue","_e$value2","_e$value3","_dataByLang","_e$value4","projectValue","_e$value5","_e$value6","_dataByProject","_op$current4","BsLayoutThreeColumns","IoCalendarOutline","BsCalendarRange","_op$current","FiFilter","BsChevronDown","overflowY","GetLogApi","PostedDate","LogApi","postDate","setPostDate","textLog","setTextLog","fetchGetLogApi","_fetchGetLogApi","_Log","onSearch","enterButton","EmailTemplateList","columnsHeader","setcolumnsHeader","Header","arrayHeader","columnComponents","emailTemplate","setEmailTemplate","LeaveTypeComponents","_props$leaveTypeTable","leaveTypeTable","InformationComponent","_props$getInformation","_props$refAttibutePro","_props$refAttibutePro2","_props$refAttibutePro3","_props$refAttibutePro4","_props$refAttibutePro5","_props$refAttibutePro6","_props$refAttibutePro7","_props$refAttibutePro8","_props$refAttibutePro9","_props$refAttibutePro10","_props$refAttibutePro11","projectData","setProjectData","setCanNotEdit","treeTemplate","setTreeTemplate","companyList","setCompanyList","nameEnCompanyTo","setNameEnCompanyTo","nameEnCompanyCc","setNameEnCompanyCc","searchDataCc","setSearchDataCc","searchCompanyData","setSearchCompanyData","searchRefDocData","setSearchRefDocData","setSubject","globalFilterValueCc","setGlobalFilterValueCc","globalFilterCompanyValue","setGlobalFilterCompanyValue","globalFilterRefTempValue","setGlobalFilterRefTempValue","isDialogVisibleCc","setDialogVisibleCc","isDialogVisibleCompany","setDialogVisibleCompany","isDialogVisibleRefTemp","setDialogVisibleRefTemp","selectProject","setSelectProject","selectedEmployeeTo","setSelectedEmployeeTo","filteredEmployeeTo","setFilteredEmployeeTo","selectedEmployeeCc","setSelectedEmployeeCc","filteredEmployeeCc","setFilteredEmployeeCc","refTempSelectedProps","setRefTempSelected","selectFormTemplate","setSelectFormTemplate","searchTemplateListEditing","setSearchTemplateListEditing","setIsSearchTemplateEditing","locationPathName","coreRender","setCoreRender","onLazyLoad","setOnLazyLoad","refAttibuteProps","setListRefDocsDetail","_TemplateListEditing","searchTemplateEdit","dataStatusDraftSetDateNew","setInformationTemplate_Desc","formatDateTimeDataReQuest","created_date","checkCanEdit","getInformationMethodProp","setIsSetCanEdit","_detail$listFormName$","getInformation","_getInformation","info_template","fetchDataCompany","copyInformation","getInformationTemplateProp","fetchDataTemplateByid","dataGetInformationMethodProp","templateListFormName","template_detail","setGuid","document_set","dataGetInformationMethodMemoProp","_setGuid","_templateListFormName","_props$requestDetail","_templateIdListFormName","setListFormName","_dataGetInformationMethodProp","_dataSetInformation","modified_by","created_by","auto_approve_when","template_code","document_no","company_name","project_id","TemplateListEditing","refId","selQuery","refDoc","CompanyCodeWithName","onGlobalFilterChangeCc","onGlobalFilterCompanyChange","dataCpl","_data$AddressEn","_project","answer_array","dataName","_answer_array","_fetchDataTemplateByid","setOnLoadLineApprove","fetchDataLineApproveWithTemplate","_fetchDataLineApproveWithTemplate","localStorageData","_templateByid","lineApprove","responeAprovaWithTemplate","getLineApprove","setLineApporve","_fetchDataCompany","responeCompanyData","onChangeSubjectMemo","showModalCompany","showModalRefTemp","showModalCc","onChangeSelectProject","ProjectId","setSelectedEmployeeToFunction","setSelectedEmployeeCcFunction","isCopyProps","isBranchFromADTitle","branchFromADTitle","searchEmployeeToEnter","searchEmployeeCcEnter","isHideProject","virtualScrollerOptions","itemSize","panelStyle","checkTypeLeave","isTextFromValue","showControl","setShowControl","selectedView","errorResult","errorTable","datafilterEmployee","useBreakpoint","Grid","LineApprovalsComponent","lineData","setLineData","setdataEmployeeList","setGlobalFilterValue2","setCanEdit","fromIndex","setFromIndex","moveToNumber","setMoveToNumber","fetchApprovals","_fetchApprovals","getLineAproveMethodProp","signature_id","signature_th","sig","getRequestorDetailProp","setLineApproveMethodProp","statusBodyTemplate","sinatures","rowInx","onSelected_Sinatures","acceptMoveto","targetIndex","moveItem","scrollDirection","raw","lastData","lineid","addData","RequestorComponent","actionAdd","setIsActionAdd","masterEmployee","setRequestor","renderSelectedRequestor","isADTitleToPosition","masterATDLFT","selectedRows","setSelectedRows","indexState","setIndexState","setDescriptionRespone","configFile","setConfigFile","fechData","filterArr","maxMb","memo_id","is_merge_pdf","IoMdAlert","_selectedRows$find","splitPath","cannotDownloadPdfAppSetting","_listFormNames$RefDoc","_memoDetail$Permissio","rootPath","docPath","lastIndex","extension","checkCanDownload","checkCanDownloadAttach","checkRoleId","checkDLAttach","downloadFileType","_listFormNames$RefDoc2","_memoDetail$Permissio2","_rootPath","_docPath","_fullName","_lastIndex","_extension","_name","_checkCanDownload","_checkCanDownloadAttach","_checkDLAttach","_downloadFileType","_checkRoleId","roleId","AttachDownload","cannotDowLoadPDFDefault","_selectedRows","_SecRow","handleCheckboxChange","RequestSideBarElement","setSidebar","sidebarM","setSidebarM","BsPerson","AiOutlineApartment","ImAttachment","SideBarDataResponsive","workList","AiOutlineHistory","MemoSingleButton","GetMemoAuthorized","RegisterWolfAccount","CheckRolePermission","thispermiss","permiss","RequestScreen","_requestDetail$memoDe4","setTtemplateId","setMemoId","dataTreeSelectProps","listFormNameState","setListFormNameState","isSetCanEdit","templateTree","setTemplateTree","setCheck","setImgLoading","setErrorResult","setErrorTable","isActionPdf","setIsActionPdf","setIsTextFromValue","setIsShowPdfButton","requestorId","setRequestorId","setCheckTypeLeave","onLoadLineApprove","setPreviewTemplate","setIsHideProject","_useState69","_useState70","setBranchFromADTitle","_useState71","_useState72","setIsBranchFromADTitle","_useState73","_useState74","_useState75","_useState76","isActiveADTitleToPosition","setIsActiveADTitleToPosition","_useState77","_useState78","_useState79","_useState80","refAttibute","setRefAttibute","_useState81","_useState82","memoPageModel","approver_can_edit","auto_approve","costcenter","department_id","document_library","is_editable","is_public","last_action_by","last_status_id","last_status_name","status_id","_useState83","_useState84","setLeaveTypeTable","_requestDetail$memoDe","_requestDetail$memoDe2","_requestDetail$memoDe3","fetchLineApproveWithSummary","_queryData","queryData","_requestDetail$memoDe5","fetchTemplateDocTypeCode","onCheckPermission","checkRefTemplate","_checkRefTemplate","_memoPageModel$listRe","_refDoc","refObject","refDocsDetail","results","docDetail","replaceTitleInfo","_replaceTitleInfo","_responeADTitle$activ","_responeADTitle","_respone$memoDetail","_respone$memoDetail$r","_respone$memoDetail2","_respone$memoDetail2$","_respone$memoDetail3","_respone","_respone$0$Value","_respone$","_display","_dataReplace","documentElement","activeBranchFromADTitle","activeADTitleToPosition","checkLeaveRequestTemplate","_checkLeaveRequestTemplate","_leaveTemplate","_listFormName","_memoPageModel","_template$SpecificEmp","_template$SpecificEmp2","_template$SpecificRol","_template$SpecificRol2","emp_authorize","role_authorize","isEmpAuthorize","isRoleAuthorize","_template2$SpecificEm","_template2$SpecificEm2","_template2$SpecificRo","_template2$SpecificRo2","_empid","_emp_authorize","_role_authorize2","_isEmpAuthorize","_isRoleAuthorize","_roles","_role","permission","editDataMemoDetail","fechMemoDetail","fechMemoButton","_fetchLeaveTemplate","fetchLeaveTemplate","_fetchTemplateDocTypeCode","setCreator","setInformation","setLineApprove","setFileAttach","getRequestor","getFileAttach","getTemplateTree","_memoId","fechMemoButtonDefault","error_result","error_table","ess_","_requestDetail$listFo","_requestDetail$memoDe6","_template_desc","runControls","_requestDetail$listFo2","_requestDetail$memoDe7","_newRunning","_template_desc2","_runControls","_gg","_requestBody","_checkAuto","_checkNum","isTableRequire","_j5","table_row","table_col","_errpr","onAdd","getRequestorMethodProp","setRequestorMethodProp","setCreatorMethodProp","getInformationTemplateSetDataProp","getFileAttachMethodProp","setFileAttachMethodProp","PreviewTemplateScreen","LoginGoogle","RegisterWolfScreen","checkLength","setCheckLength","checkEmail","setCheckEmail","displayPopup","setDisplayPopup","dataRemark","setDataRemark","_onSubmit","validateEmail","Password","Note","Regis","TableReferenceComponent","_props$refAttribute","_props$refAttribute2","_props$refAttribute3","refLoading","DialogRefTemplateComponent","_props$searchRefDocDa","_props$refAttribute4","filterRefTempValue","setFilterRefTempValue","setRefSelected","refObtions","_data$props$refAttrib","refMemoId","advanceFormList","RefSelected","matchedItem","MAdvacveForm","setDialogVisibleInRefTemplate","_onSelect","refTemp","ValidateSelected","_ValidateSelected","SelectField","DocNo","ValidateRef","dialogVisibleInRefTemplate","TemplateVersionComponent","selectedTemplateVersion","templateListVersion","setSelectedTemplateVersion","InformationComponentFix","_memoDetail$requestor","_memoDetail$requestor2","_listInToAndPass$to","_listInToAndPass$to2","_listInToAndPass$pass","_listInToAndPass$pass2","masterCompanies","canEditRefDoc","setListInToAndPass","listInToAndPass","masterProjects","finFo","checkedLeaveTemplate","isTemplateVersion","dialogVisibleInCompany","setDialogVisibleInCompany","dialogVisibleInEmployee","setDialogVisibleInEmployee","hideProject","hideBranch","setIsHideBranch","hideTo","setIsHideTo","hideCc","setIsHideCc","hideSubject","setIsHideSubject","typeEmployeeDialog","setTypeEmployeeDialog","filteredEmployee","setFilteredEmployee","filterCompany","setFilterCompany","hasUserManual","setHasUserManual","_finFo$Value","_finFo","_showBranch","checkHasFifoFunction","searchEmployeeToAndPass","showModalInEmployeeToAndPass","_showModalInEmployeeToAndPass","masterDataList","userManual","userManualList","manual","_userManual$0$AttachF","_userManual$0$AttachF2","nameFileSplit","linkFileSplit","masterlist","master","UserManualGroupName","com_name","checkChangeComp","LineApprovalsComponentFix","canEditLineApproval","currentLevel","hightLight","setHightLight","_toggleModal","_employeeList","dynamicTable","dropIndex","toggleModal","okText","defSignature","OtherButtonMemoComponent","_props$memoDetail$mem7","_t","_props$permission","_props$permission2","_t2","setResponeData","isCheckByOrigin","setIsCheckByOrigin","_setData","IsCheckAccessEditing","_props$memoDetail","_props$memoDetail$mem","_props$memoDetail$mem2","actorCheckAccess","onSetCheckAccess","checkAccessRequestModel","memoIdForCopy","_props$memoDetail$mem3","_props$memoDetail$mem4","_props$memoDetail$mem5","_props$memoDetail$mem6","checkIsAccessComponent","site","isCheckAcces","BsPencilSquare","FaPrint","Validation","_submitType","dateValidField1","dateValidField2","ResponeValidation","_checkRespone","AdminEditCompletedMemoPermissionContext","AdminEditCompletedMemoProvider","canEditMemo","setCanEditMemo","getCanAdminEditCompletedMemo","useAdminEditCompletedMemoPermissionContext","RequestScreenFix","_location$state","_location$state2","_jsx2","checkUseEffect","setCheckUseEffect","setCheckActionPage","setCheckedLeaveTemplate","_setIsControlLoading","setActionAlert","prevAmount","setPrevAmount","showLoadTimer","hideLoadTimer","isShowLoad","clearTimeout","setCanEditDoc","canEditLineApprove","setCanEditLineApprove","_useAdminEditComplete","isCheckAccess","setIsCheckAccess","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","setMasterDLAttach","setFinFo","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","setMasterCompanies","_useState85","_useState86","setTemplateListVersion","_useState87","_useState88","_useState89","_useState90","setIsTemplateVersion","_useState91","_useState92","_useState93","_useState94","_useState95","_useState96","_useState97","_useState98","loadingPDF","setLoadingPDF","_useState99","_useState100","setIsShowPdf","_useState101","_useState102","setIsShowSum","_useState103","_useState104","setPermission","_useState105","_useState106","masterDataValidField","setMasterDataValidField","_useState107","_useState108","setMessageValidField","_useState109","_useState110","setDuration","_useState111","_useState112","_useState113","_useState114","requestActionMemo","setRequestActionMemo","_useState115","_useState116","checkRequestActionMemo","setCheckRequestActionMemo","_useState117","_useState118","_useState119","_useState120","_useState121","_useState122","_useState123","_useState124","previousAmount","_useState125","_useState126","_useState127","_useState128","setFocus","_useState129","_useState130","_useState131","_useState132","_useState133","_useState134","_useState135","_useState136","setIsADTitleToPosition","_useState137","_useState138","_useState139","_useState140","_useState141","_useState142","_useState143","_useState144","_useState145","_useState146","setEdFont","projects","_useState147","_useState148","setDefault","_useState149","_useState150","rishFont","setrishFont","fontFormat","detectLineApproval","getAllRefDoc","_RefID","optionValue","_signature","checkQuery","autoApprove","canAccess","_usrId","_docTypeCode","_isCopy","_isPreview","_documentNo","getInitialData","_requestDetail2","_requestDetail2$reque","_requestDetail3","_requestDetail4","_requestDetail5","_requestDetail5$reque","_requestDetail5$reque2","userDataByQuery","hasQueryUserId","_isTextForm","canViewAndPrint","memoButtons","templateDescWithLogic","autoNum","_templateDesc","_templateDesc2","_templateDesc3","_requestDetail6","_requestDetail6$reque","_requestDetail6$reque2","mewLine","_templateDescWithLogic","_autoNum","_control2","_templateDesc4","_templateDesc5","getLineApproveAtFirsts","initialActionFiedFormLineApprove","setDefaultTemplateDesc","detechFormulas","checkTemplateVersion","checkDataAndSetFunction","createTableSums","templateItems","templateType","defaultDate","logicType","amountToUse","responseDataLineApprove","dataJsonApproverType","approverType","_responseDataLineApprove","onLoadDataLiveApprove","onLoadLiveApproveType","tempdescItem","_templateDesc6","errerrerr","dataLineApprove","_datalineapprove","currentApprovals","showTemplate","_y","_z","_jsonValue","isDelegate","_field","_column2","notInPos","templateLayouts","tbCol","targetCols","notTargetCols","tableCols","notUseCols","_pos$tableCols","_pos$notUseCols","_pos$tableCols2","_pos$tableCols3","_formulas","memoStatus","_templateDesc7","_templateDesc7$items","initialLogicData","_context21","_jsonValue2","userRole","_loop8","_templateItems2","_templateDesc$items$r","_templateDesc$items$r2","_permittedValues","_resRow","_templateDesc$items$r3","_templateDesc$items$r4","_i14","_perValue","_i15","_key","_jsonValue4","newTableOptions","_i17","_templateItems4","_j7","_jsonValue5","_i18","_templateItems5","_j8","_layout8","logicRelated","_jsonValue6","_i19","_templateItems6","_j9","_layout9","_i20","_j10","_context20","onCheckUserRolePermissionInLogic","_templateItems","_loop7","_field$column","_pos$tableCols4","rowLength","onProcessLogicReferenceNoFilter","loadtoLabel","getInitialLogicData","_context22","_context23","_x38","_x39","_yield$onFindDataJson","_context24","_x40","_x41","_x42","_x43","dataSourceLoad","_context25","_x44","_context26","_x45","userRoles","accessRoles","accessRole","onFilterLoadtoField","onFilterRefFilterField","currentFieldValue","_refFilter","onLoadReferenceData","_ref20","orCondition","refFilterValueEqualComlumAll","refFilterValue","_i22","_ref21","_context27","_x46","_ref22","_callee20","responseDataReference","refData","_context28","_x47","_x48","_x49","_x50","_ref23","_callee21","refFil","_context29","_x51","_x52","_ref24","_callee22","controlName","_context30","_x53","_x54","_x55","_ref25","_callee23","_loop9","_context33","_loop10","_context32","_context31","SQLCommand","_x56","_checkedLeaveTemplateLogic","_callee30","_context40","statusm","_x57","checkedLeaveTemplateLogic","CompanyNameTh","CompanyNameEn","_ref26","_callee24","_context34","_x58","_x59","_x60","_x61","_renderSelectedRequestor","_callee32","allTemplateControl","logicDataLineApprove","logiceiei","_context42","_ref32","_callee31","_context41","_x75","_x63","_x64","_checkTemplateVersion","_callee33","_templateApproveId","_listTemplate","arrayEditingVersion","_responseTemplate","_context43","IsFormControl","_ref27","_callee25","_lRTempCode","_context35","_x65","_ref28","_callee26","_responeADTitle$activ2","_context36","_x66","_ref29","_callee27","_guid","_spited","_spited2","_context37","_x67","IsRequesterEditApproval","_x68","_x69","_x70","_x71","_callee34","refDocs","_refTemplate","_results","_context44","Template_desc","เลขที่เอกสาร","Template_name","_templateDesc$items3","sumIntable","CheckValidField","datepicker1","datepicker2","datepickerLabel1","datepickerLabel2","getCheckValid","masterDataValid","masterDataLabel1","masterDataLabel2","newDate1","newDate2","_ref30","_callee28","_lineApproval","_listHistoryDetails","_listFileAttachDetails","_listRefDocDetails","_listControlRunning","_listFormNames","_listInToAndPass","_tempVersion","_validation","_formData$items","formatFormData","_memoDetail$memoid","_requestMemoPage","_context38","_x72","_x73","_memoDetail$actorChec","_ref31","_callee29","_template_desc$items$","_template_desc$items$2","_template_desc$items$3","_template_desc$items$4","_context39","_x74","_x62","listLineApprove","UpdateWOLFAccount","CreateWOLFAccount","AccountDialog","onsubmit","NewPassword","ConfirmNewPassword","IsVerify","isRequire","AddUserManual","UserManualDialog","userManualValue","setUserManualValue","fileInputType","masterDataValue","onUploadFile","_acceptSave","attachFile","userManualformData","_formData$UserManualG","_formData$UserManualG2","UserManualId","FileDescription","TagKeyword","Sep","ActorName","OrderItem","uploadAttach","DialogListFix","subTableData","setSubTableData","matrixItemToString","approvalMatrixes","DelegateListScreen","approverData","setApproverData","searchDelegateData","setSearchDelegateData","departmentData","setDepartmentData","setFilterEmployee","checkIsAdmin","fetchDelegateList","_isAdmin","_delegate","delegate","assignedData","AssignedId","Approver","onResetFilter","onClickSearch","_data$","isBetween","AiFillPlusCircle","MdOutlineFormatListBulleted","RiUserSearchLine","momentWorklistFrom","momentWorklistTo","formatWorklistFrom","formatWorklistTo","formatDateTo","onSelectDate","RequesterDeptId","ActionId","WaitingId","setDataSource","bottom","setApiName","dynamicData","setDynamicData","emp_data","setEmp_data","subData","setSubData","getQuery","eriei","apiPath","_emp_dataFind2","_emp_data","_emp_dataFind","_apiPath","_emp_dataFind3","_emp_dataFind3$Employ","_emp_dataFind4","_emp_dataFind5","_emp_dataFind6","fecthApprovalMatrixItem","_data$AttachFile$spli","_data$AttachFile$spli2","_emp_data2","_emp_data3","SimLineApproveScreen","ReportScreenFix","setText","reportList","setReportList","isAutoReport","_page","setPaginationOption","checkAutoReport","isEnable","_empList","_empList2","UploadTimeStamp","ExportTimeStamp","TimeStampScreen","setDataList","isLoadTable","setIsLoadTable","PageNumber","SearchDateTimeFrom","SearchDateTimeTo","Paging","timeStampRequest","setTimeStampRequest","fileSelected","setFileSelected","uploading","setUploading","exporting","setExporting","fecthTimeStamp","_paginationOption","PageCount","RecordCount","fecthExportTimeStamp","handleUpload","showTotal","paginationValue","MSDocRenderer","uri","Container","IFrame","MSDocFTMaps","fileTypes","weight","styled","_templateObject","_taggedTemplateLiteral","iframe","_templateObject2","PDFPreviewComponent","setElement","pdfjs","pdfjsLib","getDocument","promise","pdf","pv","node","canvas","pageNum","getPage","viewport","getViewport","outputScale","devicePixelRatio","floor","renderContext","intent","canvasContext","reason","renderPage","numPages","PreviewAttachmentScreen","selectedDoc","setSelectedDoc","fileExt","setFileExt","imageType","pdfType","msType","ext","getTypeOfFile","_imageType","_pdfType","_msType","objectFit","RequestActionMemo","RejectBrowser","browserConfig","BUDGET","PR","PO","PV","GR","renderNumber","view","alloc","remain","percentage","genBudgetColumn","BudgetSummary","renderDescription","dayjs","dataSet","PublishStatus","TrackStatus","ProcurementTracking","renderPublish","BLANK","WAIT_FOR_APPROVE","PUBLISH_ON_WEB","GlobalOutlined","verticalAlign","SKIP","renderTrack","COMPLETED","CheckOutlined","retrieveFn","retreiveProcurement","tor","stdPrice","pr","rfp","compare","po","award","eGP","Routes","loginScreen","setLoginScreen","guidVerify","fetchApp","browser","browserDetector","defaultProtectedRouteProps","canDownLoadPdf","setIsLoadPackage","pathLogoLogin","isMulti","hidePassAndRegister","SwitchTransition","CSSTransition","addEndListener","WorkListScreen","TemplateDetailScreen","EmailTemplateListScreen","EmailTemplateDetailScreen","ReportScreen","MasterDatascreenFixed","DashboardScreen","LoadComponent","LoadPackageComponent","Animate","transitionName","isLoadPackage","SyncOutlined","spin","App","_localStorage$getItem","auzreConfig","setAuzreConfig","ua","msie","msie11","msedge","firefox","timer","setTimer","isCountDown","setIsCountDown","isIE","isEdge","isFirefox","intervalId","lang","fetchCon","_document$querySelect","reponseAzureConfig","titleWeb","pathFavicon","msToTime","pad","secs","sec","formatKey","_useIdleTimer","useIdleTimer","onIdle","countDown","setInterval","_timer","reload","clearInterval","onAction","promptTimeout","immediateEvents","debounce","throttle","eventsThrottle","startOnMount","startManually","stopOnIdle","crossTab","syncTimers","publicClientApplication","authority","redirectUri","secureCookies","MsalProvider","Router","isLocalhost","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","Backend","LanguageDetector","initReactI18next","returnNull","fallbackLng","lng","_lang$toLowerCase","interpolation","escapeValue","rootElement","ReactDOM","BrowserRouter","Suspense","fallback","process","ready","unregister","checkValidServiceWorker","registerServiceWorker","searchKey","setSearchKey","tooltipRef","multiSwitch","setMultiSwitch","selectedDatas","_col$field","_col$field2","newField","updateTargetEvents","mouseTrack","mouseTrackLeft","mouseTrackTop","autoHide","alignContent","customFooter","_configuration$j2","_configuration$j$spli3","_configuration$j$spli4","formatConfig","_priorities","_priority","GetDashboardEndpoint","statusName","displayStatusName","card","_props$errors","_props$errors2","_props$errors3","_props$template2$alte"],"mappings":"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","file":"static/js/main.c19b3e59.chunk.js","sourcesContent":["export function replaceSpecialChar(str: string) {\r\n if (str === \"\") return \"\";\r\n str = str.replace(/ /g, \"_\");\r\n str = str.replace(\"'\", \"_\");\r\n str = str.replace(\";\", \"_\");\r\n str = str.replace(\",\", \"_\");\r\n str = str.replace(\"?\", \"_\");\r\n str = str.replace(\"<\", \"_\");\r\n str = str.replace(\">\", \"_\");\r\n str = str.replace(\"(\", \"_\");\r\n str = str.replace(\")\", \"_\");\r\n str = str.replace(\"@\", \"_\");\r\n str = str.replace(\"=\", \"_\");\r\n str = str.replace(\"+\", \"_\");\r\n str = str.replace(\"*\", \"_\");\r\n str = str.replace(\"&\", \"_\");\r\n str = str.replace(\"#\", \"_\");\r\n str = str.replace(\"%\", \"_\");\r\n str = str.replace(\"$\", \"_\");\r\n str = str.replace(\"|\", \"_\");\r\n str = str.replace(\"[\", \"_\");\r\n str = str.replace(\"]\", \"_\");\r\n str = str.replace(\"{\", \"_\");\r\n str = str.replace(\"}\", \"_\");\r\n str = str.replace(\":\", \"_\");\r\n str = str.replace(\"~\", \"_\");\r\n return str;\r\n}\r\n","export const GetAutoNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetAutoNumber\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetSaveRunningNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/SaveRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRvsRunning = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CanAssignMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\"api/RequestControl/CanAssignMoreThanOne\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\"\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanAssignMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CanRequestCommentMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\r\n \"api/RequestControl/CanRequestCommentMoreThanOne\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\"\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanRequestCommentMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const UploadTinyMce = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/AddTinyMce\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log(\"AddTinyMce\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/UploadFile/AddFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(data, \"data\");\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UploadFileRenderControl = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/UpLoadFileRenderControl\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch(function (response) {\r\n return response;\r\n });\r\n return respone;\r\n};\r\n","import axios from \"axios\";\r\nimport { IAttachFile } from \"../IRequestModel/IAttachfile\";\r\n\r\nexport const GetAllAttachFiles = async (\r\n dataJson: any\r\n): Promise => {\r\n const respone = await fetch(\"api/AttachFiles/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const UploadFileAttachFiles = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/AttachFiles/AddFile\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log({ errUploadAttach: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestAttachFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/AttachFiles/AddRequestFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetPort = async () => {\r\n const respone = await fetch(\"api/AttachFiles/GetPort\")\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","import React, { useEffect } from \"react\";\r\n\r\ninterface Props {\r\n textHeaderProps?: any;\r\n textSubProps?: any;\r\n isRequir?: boolean;\r\n colorProps?: any;\r\n}\r\n\r\nexport const TextHeaderComponents = (props: Props) => {\r\n useEffect(() => {}, []);\r\n return (\r\n
\r\n {props.isRequir ? (\r\n \r\n \r\n {props.textHeaderProps}\r\n

\r\n\r\n \r\n *\r\n \r\n
\r\n ) : (\r\n \r\n {props.textHeaderProps}\r\n

\r\n )}\r\n\r\n \r\n {props.textSubProps}\r\n

\r\n \r\n );\r\n};\r\n","export enum LogicType {\r\n DataSourceRelated = \"datasourcerelated\",\r\n Reference = \"reference\",\r\n DataSourceLoad = \"datasourceload\",\r\n DataLineApprove = \"datalineapprove\",\r\n DataRelatedToLoadData = \"datareladtoloaddata\",\r\n DataAjaxLoadTable = \"dataajaxloadtable\",\r\n Permission = \"Permission\",\r\n Role = \"role\",\r\n RefInfomation = \"refinfomation\",\r\n}\r\n","import moment from \"moment\";\r\nimport { IDateAttribute } from \"../IRequestModel/ITemplateDescModel\";\r\n\r\nexport const formatDateTime = (value: any, originFormat?: string) => {\r\n if (value != \"\") {\r\n let someDateString = moment(\r\n value,\r\n originFormat ? originFormat : \"DD/MM/YYYY HH:mm:ss\"\r\n );\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n};\r\n\r\nexport const getTimeFormat = (format: IDateAttribute) => {\r\n const symbol =\r\n format.time.symbol !== \":\" && format.time.symbol !== \"\"\r\n ? format.time.symbol\r\n : \":\";\r\n const timeFormat =\r\n format.time.use === \"Y\"\r\n ? `HH${symbol}mm${format.time.useSecond === \"Y\" ? `${symbol}ss` : \"\"}`\r\n : \"\";\r\n return timeFormat;\r\n};\r\n\r\nexport const getDateFormat = (format: IDateAttribute) => {\r\n const dateFormat =\r\n \"DD\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n \"MMM\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n `YYYY${getTimeFormat(format)}`;\r\n\r\n return dateFormat;\r\n};\r\n","export const formatKeyLogicData = (logicData: any) => {\r\n try {\r\n let _logicData = logicData;\r\n console.log(_logicData, \"_logicData6666\");\r\n _logicData.data.unshift({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < _logicData.data.length; k++) {\r\n const data = _logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _logicData.data[k] = keyValues[0];\r\n }\r\n console.log({ _logicData });\r\n\r\n return _logicData;\r\n } catch (error) {\r\n console.log(\"logic=>formatKeyLogicData=>error\", error);\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\nimport { GetAutoNumber } from \"../Services/RequestControlService\";\r\nexport async function genAutoNum(\r\n _control: any,\r\n autoNumFormat: IAutoNumberAttibute,\r\n template_id: any,\r\n status: any\r\n) {\r\n try {\r\n if (autoNumFormat.formats.length > 0) {\r\n let autoNumberAttibute: IAutoNumberAttibute = autoNumFormat;\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n let requestBody: any = {};\r\n let formats: IAutoNumberFormat[] = autoNumberAttibute.formats;\r\n let choiceFormat = null;\r\n let tempLabels: string[] = [];\r\n let tempValues: string[] = [];\r\n for (let i = 0; i < formats.length; i++) {\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n for (let j = 0; j < con.length; j++) {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (con[j].label === layout.template.label) {\r\n if (con[j].value === layout.data.value) {\r\n if (!tempLabels.includes(con[j].label)) {\r\n tempLabels = [...tempLabels, con[j].label];\r\n tempValues = [...tempValues, con[j].value];\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < formats.length; i++) {\r\n if (formats[i].condition.length > 0) {\r\n const con = formats[i].condition;\r\n let tempCheck = 0;\r\n if (tempLabels.length > 0) {\r\n if (tempLabels.length == con.length) {\r\n for (let j = 0; j < con.length; j++) {\r\n if (\r\n tempLabels.includes(con[j].label) &&\r\n tempValues.includes(con[j].value)\r\n ) {\r\n tempCheck++;\r\n }\r\n if (tempCheck != 0) {\r\n if (tempCheck == con.length) {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (choiceFormat == null) {\r\n choiceFormat = formats[i];\r\n }\r\n }\r\n }\r\n\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type) {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (format.type === \"datetime\") {\r\n const formattedYear = moment().format(format.label);\r\n str.push(formattedYear);\r\n } else if (format.type === \"ddl\") {\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any) => {\r\n if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n let newPosition = format.position;\r\n\r\n if (value !== null) {\r\n if (format.condition === \"Split\") {\r\n let newFormat = value.split(format.symbol);\r\n console.log(\"autoNumFormat_str_Split\", newFormat);\r\n for (let i = 0; i < newFormat.length; i++) {\r\n newPosition = newPosition.replace(\r\n new RegExp(\"\\\\$\\\\{\" + (i + 1) + \"\\\\}\", \"gi\"),\r\n newFormat[i]\r\n );\r\n }\r\n if (\r\n newPosition.indexOf(\"(\") > -1 &&\r\n newPosition.indexOf(\")\")\r\n ) {\r\n str.push(\r\n newPosition.substring(\r\n newPosition.indexOf(\"(\") + 1,\r\n newPosition.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(newPosition);\r\n }\r\n } else {\r\n if (value.indexOf(\"(\") > -1 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n if (str.length === choiceFormat.format.length) {\r\n if (\r\n !str.includes(\"--select--\") &&\r\n !str.includes(\"-- select --\") &&\r\n !str.includes(\"-- please select --\") &&\r\n !str.includes(\"--- please select ---\") &&\r\n !str.includes(\"--please select--\") &&\r\n !str.includes(\"---please select---\") &&\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"-- Select --\") &&\r\n !str.includes(\"-- Please Select --\") &&\r\n !str.includes(\"--- Please Select ---\") &&\r\n !str.includes(\"--Please Select--\") &&\r\n !str.includes(\"---Please Select---\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n }\r\n if (status === \"New Request\") {\r\n if (isCheck) {\r\n const showSymbol = autoNumFormat.showSymbol;\r\n let prefix = \"\";\r\n if (showSymbol) {\r\n prefix = str.join(\"-\") + \"-\";\r\n } else {\r\n prefix = str.join(\"\");\r\n }\r\n console.log(\"autoNumFormat_str\", str);\r\n autoNumFormat.fisrtPreix = prefix;\r\n requestBody.Prefix = prefix;\r\n requestBody.Digit = autoNumFormat.digit;\r\n requestBody.TemplateId = template_id;\r\n requestBody.Status = status;\r\n requestBody.Label =\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].template.label;\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = dd;\r\n }\r\n } else if (!isCheck) {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = \"\";\r\n }\r\n }\r\n return _control;\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>error\", error);\r\n }\r\n}\r\n\r\nexport function getValueControl(\r\n controlID: string,\r\n memoDetail: IMemoDetailModel\r\n) {\r\n let strValue: string = \"\";\r\n\r\n switch (controlID.toLowerCase()) {\r\n case \"requestor id\":\r\n strValue = memoDetail.requestor.EmployeeId.toString();\r\n break;\r\n case \"requestor code\":\r\n strValue = memoDetail.requestor.EmployeeCode;\r\n break;\r\n case \"requestor name\":\r\n strValue = memoDetail.requestor.NameEn;\r\n break;\r\n case \"requestor email\":\r\n strValue = memoDetail.requestor.Email;\r\n break;\r\n case \"requestor position\":\r\n strValue = memoDetail.requestor.PositionNameEn;\r\n break;\r\n case \"requestor department\":\r\n strValue = memoDetail.requestor.DepartmentNameEn;\r\n break;\r\n default:\r\n // handle default case here\r\n break;\r\n }\r\n\r\n return strValue;\r\n}\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\nimport $ from 'jquery'; \r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const InputControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n // console.log(\"rvs=>\" + template.label, field.value);\r\n console.log({ canEditDoc });\r\n\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n let inpId = template.label.replaceAll(\" \", \"_\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* {`${rowIdx}${colIdx}`} */}\r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={inpId}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component table-input\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(inpId!)?.getAttribute(\"tabindex\")\r\n let nxtIdx = parseInt(curIndex!) + 1\r\n // console.log({id, curIndex, nxtIdx});\r\n \r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\").focus().click();\r\n },300)\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n\r\nexport const InputTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n rowIdx,\r\n colIdx,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n\r\n let nId = rowIdx + \"_\" + colIdx + \"_\" + template.label\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(nId)?.getAttribute(\"tabindex\")\r\n let nxtIdx = parseInt(curIndex!) + 1\r\n // console.log({id, curIndex, nxtIdx});\r\n \r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\").focus().click();\r\n },300)\r\n }\r\n \r\n if (!isEditing) {\r\n return (\r\n
\r\n {\r\n e.preventDefault()\r\n saveFunc()\r\n }}\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n nextTab()\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit();\r\n e.target.select();\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n\r\n return (\r\n <> \r\n \r\n \r\n {\r\n e.preventDefault()\r\n saveFunc()\r\n }}\r\n onKeyDown={(e) => {\r\n if(e.code?.toLocaleLowerCase() === \"tab\"){\r\n console.log(\"key down\")\r\n nextTab()\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit()\r\n e.target.select();\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n// export default InputTableControlComponent;\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { notification } from \"antd\";\r\nimport \"./AlertContext.css\";\r\nimport { RiCloseCircleFill } from \"react-icons/ri\";\r\nimport { TiWarning } from \"react-icons/ti\";\r\nimport { FaCheckCircle } from \"react-icons/fa\";\r\nimport { BsFillInfoCircleFill } from \"react-icons/bs\";\r\n\r\nimport { IconType } from \"react-icons/lib\";\r\ninterface AlertProviderProps {\r\n children: ReactNode;\r\n}\r\ndeclare const AlertType: [\"success\", \"info\", \"warning\", \"error\"];\r\ninterface IToggleAlertParams {\r\n type: (typeof AlertType)[number];\r\n message: string;\r\n description: string;\r\n\r\n onClose?: () => void;\r\n duration?: number;\r\n}\r\ninterface IAlertContextType {\r\n toggleAlert: (params: IToggleAlertParams) => void;\r\n}\r\nconst AlertContext = createContext(null);\r\nconst alertColors = {\r\n error: \"#b34045\",\r\n warning: \"#fecf6d\",\r\n info: \"#4091d7\",\r\n success: \"#2d884d\",\r\n};\r\nconst AlertContextProvider: React.FC = (props) => {\r\n const [api, contextHolder] = notification.useNotification();\r\n const handleToggleAlert = (params: IToggleAlertParams) => {\r\n let icon: JSX.Element = ;\r\n const iconSize = 28;\r\n if (params.type === \"error\") {\r\n icon = ;\r\n } else if (params.type === \"info\") {\r\n icon = ;\r\n } else if (params.type === \"success\") {\r\n icon = ;\r\n } else if (params.type === \"warning\") {\r\n icon = ;\r\n }\r\n api[params.type]({\r\n className: \"alert-custom\",\r\n message: params.message,\r\n description: params.description,\r\n placement: \"topRight\",\r\n onClose: params.onClose,\r\n duration: params.duration && params.duration,\r\n style: {\r\n borderRadius: 8,\r\n zIndex: 10000,\r\n },\r\n icon,\r\n });\r\n };\r\n return (\r\n \r\n {contextHolder}\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { AlertContextProvider, AlertContext };\r\n","import { Button, Form, Input, Popconfirm, Table } from \"antd\";\r\nimport React from \"react\";\r\n\r\ntype EditableTableProps = Parameters[0];\r\ntype ColumnTypes = Exclude;\r\n\r\nexport const formatToColumns = (columns: any[], data: any) => {\r\n let rowData: any = {};\r\n rowData[\"key\"] = data.key;\r\n for (let i = 0; i < columns.length; i++) {\r\n const column = columns[i];\r\n rowData[column.label] = data[i].value;\r\n }\r\n return rowData;\r\n};\r\n\r\nexport const formatColumn = (columns: any[], data: any) => {\r\n let newData: any[] = [];\r\n // const dataString = JSON.stringify(data);\r\n // const _data = JSON.parse(dataString);\r\n\r\n for (let i = 0; i < data?.row?.length; i++) {\r\n const row = data.row[i];\r\n let rowData: any = {};\r\n rowData[\"key\"] = i;\r\n for (let j = 0; j < row.length; j++) {\r\n const _row = row[j];\r\n rowData[columns[j]?.label] = _row.value\r\n ? _row.value\r\n : _row.item\r\n ? _row.item\r\n .map((_item: any, idx: number) =>\r\n _item === \"Y\"\r\n ? columns[j].control.template.attribute.items[idx].item\r\n : \"\"\r\n )\r\n .toString()\r\n : _row.value;\r\n // rowData[columns[j].label] = _row.value;\r\n }\r\n console.log({ rowData, row });\r\n\r\n newData.push(rowData);\r\n }\r\n const column: any[] = [];\r\n\r\n column.push({\r\n title: \"#\",\r\n key: \"index\",\r\n width: \"80px\",\r\n align: \"center\",\r\n render: (_: any, record: { key: number }, index: number) =>\r\n record.key !== undefined ?

{record.key + 1}

:

{index + 1}

,\r\n });\r\n let cal = 0;\r\n columns.map((_column: any) => {\r\n let tableWidth = (25 / 100) * 1220;\r\n let canEdit: boolean = true;\r\n\r\n if (\r\n _column.control.template.attribute.widthInTable &&\r\n _column.control.template.attribute.widthInTable > 0\r\n ) {\r\n const width = Number(_column.control.template.attribute.widthInTable);\r\n tableWidth = (width / 100) * 1220;\r\n }\r\n cal += 200;\r\n\r\n column.push({\r\n title: (\r\n
\r\n
\r\n {_column.label}\r\n {_column.control.template.attribute.require === \"Y\" && (\r\n *\r\n )}\r\n
\r\n\r\n {_column.alter}\r\n
\r\n ),\r\n dataIndex: _column.label,\r\n editable: canEdit,\r\n width: tableWidth,\r\n isShow: _column.isShow,\r\n });\r\n });\r\n // console.log({ eee: column });\r\n\r\n return { column, newData };\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport type { DatePickerProps } from \"antd\";\r\nimport { DatePicker, Space } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { RangePickerProps } from \"antd/lib/date-picker\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { getDateFormat } from \"../../../Helper/FormatDateTime\";\r\nimport { Form, Input } from \"antd\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\nimport { IDateTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\n\r\n\r\ntype InputDateProps = {\r\n ref?: any;\r\n template: IDateTemplate;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n \r\n};\r\n\r\ntype IDateControlProps = {\r\n template: IDateTemplate;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n};\r\n\r\nconst DateInputComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [action]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n } else {\r\n setAction(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\r\n template.attribute.date.symbol !== \"\"\r\n ? template.attribute.date.symbol\r\n : \"/\"\r\n );\r\n }\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"cal=>props.data.value\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n }),\r\n getDateFormat(template.attribute)\r\n );\r\n };\r\n return (\r\n <>\r\n console.log(\"Date\",template)}\r\n value={value && getDateValue(value)}\r\n format={getDateFormat(template.attribute)}\r\n showTime={\r\n template.attribute.time.use === \"Y\"\r\n ? { defaultValue: moment(\"00:00:00\", \"HH:mm:ss\") }\r\n : false\r\n }\r\n onChange={(value) => {\r\n console.log(\r\n \"cal=>value\",\r\n value?.format(getDateFormat(template.attribute))\r\n ); \r\n onChange(\r\n value ? value?.format(getDateFormat(template.attribute)) : \"\"\r\n );\r\n }}\r\n status={action ? \"error\" : \"\"}\r\n inputReadOnly\r\n />\r\n \r\n );\r\n};\r\n// this one row col index\r\nexport const DatePickerControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const DatePickerTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n {\r\n // if (value !== \"\" && value !== undefined) {\r\n // return moment(value, getDateFormat(template.attribute));\r\n // } else {\r\n // return null;\r\n // }\r\n // }}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, InputNumber } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputNumberProps = {\r\n ref?: any;\r\n id?: string;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n isEditing?: any;\r\n canEditDoc: boolean;\r\n toggleEdit?: any;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputNumberComponent: React.FC = ({\r\n id,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n isEditing,\r\n toggleEdit,\r\n ref,\r\n}) => {\r\n return (\r\n <>\r\n {\r\n if (isNaN(Number(value.replaceAll(\",\", \"\")))) {\r\n return \"\";\r\n } else {\r\n if (template.attribute.useComma === \"Y\") {\r\n return Number(value.replaceAll(\",\", \"\")).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n });\r\n } else {\r\n return Number(value.replaceAll(\",\", \"\")).toFixed(\r\n Number(template.attribute.decimal)\r\n );\r\n }\r\n }\r\n }}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n // readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n value={value && value !== \"\" ? value : \"0\"}\r\n defaultValue={template.attribute.default}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n\r\n let _value = \"\";\r\n if (isNaN(Number(e.target.value.replaceAll(\",\", \"\")))) {\r\n _value = \"0\";\r\n } else {\r\n _value = Number(e.target.value.replaceAll(\",\", \"\")).toLocaleString(\r\n \"en-US\",\r\n {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n maximumFractionDigits: Number(template.attribute.decimal),\r\n }\r\n );\r\n }\r\n\r\n onChange(_value.replaceAll(\",\", \"\"));\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(id!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n onPressEnter={(e: any) => {\r\n e.target.blur();\r\n }}\r\n status={status}\r\n ref={ref}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputNumberControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n canEditDoc,\r\n checkActionPage,\r\n controlUpdate,\r\n buttonType,\r\n}) => {\r\n // console.log(colIdx, rowIdx, colAction, colText, col);\r\n const watchControlInput = useWatch({\r\n control,\r\n name: name,\r\n });\r\n\r\n // useEffect(() => {\r\n // // console.log({ watchControlInput });\r\n // // console.log({ watchControlSelect });\r\n // onControlChange(template, watchControlInput, controlUpdate);\r\n // }, [watchControlInput]);\r\n return (\r\n {\r\n // console.log({ errorserrorserrorserrors: errors });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n let intValue: any = value;\r\n if (value == 0 || value == 0.0) {\r\n intValue = \"\";\r\n }\r\n onChange(intValue);\r\n onControlChange(template, intValue, false);\r\n }}\r\n value={value}\r\n status={\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {/* {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]?.data?.value?.type ===\r\n \"required\" && (\r\n \r\n {template.label} is required.\r\n \r\n )} */}\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} : is required.\r\n \r\n )}\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n (errors?.items[rowIdx]?.layout[colIdx]?.data?.value?.type! ===\r\n \"min\" ||\r\n errors?.items[rowIdx]?.layout[colIdx]?.data?.value\r\n ?.type! === \"max\") && (\r\n \r\n {template.label} must be between {template.attribute.min}{\" \"}\r\n to {template.attribute.max}.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputNumberTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n if (!isEditing) {\r\n return (\r\n <>\r\n Number(template.attribute.max)) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min))\r\n ? {\r\n width: \"100%\",\r\n border: \"1px solid red\",\r\n borderRadius: \"6px\",\r\n }\r\n : {\r\n width: \"100%\",\r\n }\r\n }\r\n >\r\n \r\n \r\n {template.type === \"c\" &&\r\n template.attribute.min === template.attribute.max ? (\r\n <>\r\n ) : (\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) > Number(template.attribute.max) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n )) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.min) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n ))\r\n )}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n let correct = true;\r\n let msg = \"\";\r\n if (value) {\r\n const formatValue = Number(value);\r\n const formatMaxValue = Number(template.attribute.max);\r\n const formatMinValue = Number(template.attribute.min);\r\n\r\n console.log(\r\n \"value=>\",\r\n formatValue,\r\n formatMaxValue,\r\n formatMinValue,\r\n template.label\r\n );\r\n\r\n if (formatMaxValue !== 0 && formatValue > formatMaxValue) {\r\n correct = false;\r\n\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n } else if (\r\n formatMinValue !== 0 &&\r\n formatValue < formatMinValue\r\n ) {\r\n correct = false;\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n }\r\n } else if (!value && template.attribute.require === \"Y\") {\r\n correct = false;\r\n }\r\n if (!correct) {\r\n toggleAlert({\r\n description: ` `,\r\n message: msg,\r\n type: \"error\",\r\n });\r\n }\r\n return correct\r\n ? Promise.resolve()\r\n : Promise.reject(new Error(msg));\r\n },\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Space } from \"antd\";\r\nimport { Radio } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { Form } from \"antd\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: any\r\n ) => any;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputRadioProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange?: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const RadioComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n \r\n {template.attribute.multipleLine === \"N\" && (\r\n \r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {template.attribute.multipleLine === \"Y\" && (\r\n <>\r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport const RadioControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n onControlChange,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n console.log({ value });\r\n onChange(value);\r\n onControlChange(template, value.target.value, false);\r\n }}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const RadioTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport {\r\n TableInputProps,\r\n tableSelectOption,\r\n} from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n buttonType: string;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n};\r\n\r\ntype SelectDropdownProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: string) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableOptions?: any[];\r\n actionAlert?: any;\r\n};\r\n\r\nconst { Option } = Select;\r\n\r\nexport const SelectWithTableDropdownComponent: React.FC<\r\n SelectDropdownProps\r\n> = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n canEditDoc,\r\n onChange,\r\n tableOptions,\r\n actionAlert,\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n 0\r\n ? template.attribute.items[0].item\r\n : \"--select--\"\r\n }\r\n placeholder={template.attribute.description}\r\n optionFilterProp=\"children\"\r\n onChange={(value) => onChange(value, \"dd\")}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.readonly === \"Y\"\r\n }\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n height: 38,\r\n }}\r\n size={\"large\"}\r\n status={action ? \"error\" : \"\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any, idx: number) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n onChange(value, \"dd\")}\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n }}\r\n size={\"large\"}\r\n status={status && \"error\"}\r\n >\r\n {template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n controlUpdate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const { Option } = Select;\r\n const watchControlSelect = useWatch({\r\n control,\r\n name: name,\r\n });\r\n\r\n const formatValue = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n if (value) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _res;\r\n }\r\n return [];\r\n };\r\n\r\n return (\r\n {\r\n if (value.data.value) {\r\n if (\r\n value.data.value !== \"---Select---\" &&\r\n value.data.value !== \"-- Please Select --\" &&\r\n value.data.value !== \"--Please Select--\" &&\r\n value.data.value !== \"--select--\"\r\n ) {\r\n return true;\r\n } else if (\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (!value.data.value) {\r\n if (\r\n !template.attribute.require ||\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n buttonType === \"draft\" ||\r\n buttonType === \"cancel\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value, onBlur, name, ref },\r\n formState: { errors, isSubmitted },\r\n }) => {\r\n const _value = value;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ..._value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value);\r\n }}\r\n actionAlert={actionAlert}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n _value === \"--select--\")\r\n }\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectDropdownTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n record,\r\n tableOptions,\r\n rowIdx,\r\n colIdx,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n useEffect(() => {\r\n if (tableOptions) {\r\n const options = tableOptions.find((e) => {\r\n if (e.targetCol.rowIdx === rowIdx) {\r\n if (e.targetCol.colIdx === colIdx) {\r\n return e;\r\n }\r\n }\r\n });\r\n if (options) {\r\n setCustomOptions(options.targetCol.options);\r\n }\r\n }\r\n }, [tableOptions]);\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n 1,\r\n validator: (_, value) => {\r\n let res = true;\r\n\r\n if (template.attribute.items.length > 1) {\r\n if (value) {\r\n if (value !== \"--select--\" && value !== \"--Please Select--\") {\r\n res = true;\r\n } else if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n } else {\r\n if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n }\r\n }\r\n\r\n return res\r\n ? Promise.resolve()\r\n : Promise.reject(`${template.label} is required.`);\r\n },\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import { Checkbox, Form } from \"antd\";\r\nimport type { CheckboxValueType } from \"antd/es/checkbox/Group\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype CheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\nexport const CheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // console.log({ resresres: res });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n // console.log({\r\n // resresres: {\r\n // item: res,\r\n // value: _value.toString(),\r\n // },\r\n // });\r\n\r\n _onChange(test.toString(), \"cb\");\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n // console.log({ value, _res, template });\r\n\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n for (let j = 0; j < _values.length; j++) {\r\n const _value = _values[j];\r\n if (_value === item.item) {\r\n }\r\n }\r\n // if (_value[i] === \"Y\") {\r\n // _res.push(item.item);\r\n // } else {\r\n // }\r\n }\r\n\r\n return _values;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\nexport const CheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let _values: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n _values.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n\r\n _onChange(\r\n {\r\n item: res,\r\n value: _values.toString(),\r\n },\r\n \"cb\"\r\n );\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n\r\n if (value && value.item) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n\r\n if (value?.item[i] === \"Y\") {\r\n _res.push(item.item);\r\n } else {\r\n }\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const CheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n buttonType,\r\n checkActionPage,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n ? \"set-layout-required\"\r\n : \"\"\r\n }`}\r\n >\r\n {/* _value === \"N\"))\r\n ? \"checkbox-invalid\"\r\n : \"\"\r\n }\r\n options={formatOptions(template.attribute.items)}\r\n onChange={(checkValue) => onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n /> */}\r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n }\r\n />\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const CheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n // console.log({ children });\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype SelectCheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n};\r\nconst SelectCheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n onChange(test.toString(), \"cb\");\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n\r\n let _res: any[] = [];\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _values;\r\n }\r\n return [];\r\n };\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n let split = value.split(\",\");\r\n split.map((splitData: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === splitData\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={action ? \"error\" : \"\"}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nconst SelectCheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n onChange(\r\n {\r\n item: res,\r\n value: test.toString(),\r\n },\r\n \"cb\"\r\n );\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n const mock = [\r\n {\r\n value: null,\r\n item: [\"Y\", \"N\", \"Y\", \"Y\", \"Y\", \"N\"],\r\n },\r\n ];\r\n\r\n if (value && value.item) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n\r\n if (value?.item[i] === \"Y\") {\r\n _res.push(item.item);\r\n } else {\r\n }\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={status}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SelectCheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) &&\r\n \"error\"\r\n }\r\n actionAlert={actionAlert}\r\n />\r\n\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectCheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Form, Input } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputTextAreaProps = {\r\n id?: string;\r\n ref?: any;\r\n colIdx: number;\r\n rowIdx: number;\r\n col?: any;\r\n colText?: number;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputTextAreaComponent: React.FC = ({\r\n id,\r\n ref,\r\n colIdx,\r\n rowIdx,\r\n col,\r\n colText,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => { \r\n const { TextArea } = Input;\r\n let tId = replaceSpecialChar(id ?? \"\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus().click();\r\n }, 300);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(e.target.value);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n console.log(\"key down\");\r\n nextTab();\r\n }\r\n }}\r\n disabled={canEditDoc && template.attribute.readonly === \"Y\"}\r\n readOnly={canEditDoc && template.attribute.readonly === \"Y\"}\r\n status={status}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputTextAreaControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n const { TextArea } = Input;\r\n let tId = template.label.replaceAll(\" \", \"_\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus();\r\n }, 300);\r\n };\r\n return (\r\n {\r\n console.log({\r\n errorserrorserrorserrors: errors,\r\n buttonType,\r\n template,\r\n field,\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport const InputTextAreaTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n // const row = rowIdx?.toString();\r\n // const col = colIdx?.toString();\r\n // console.log(typeof row);\r\n let tId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n console.log(\"tex\", template.attribute)}\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // style={{\r\n // height: 38,\r\n // }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SelectButton } from \"primereact/selectbutton\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { ConfirmDialog, confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport \"../mainCssControl.css\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\ntype AttachmentModalProp = {\r\n visibleDialog: boolean;\r\n setVisibleDialog: (value: boolean) => void;\r\n setCheckHasValue: (value: boolean) => void;\r\n toast: any;\r\n template: any;\r\n onChange: (value: string) => void;\r\n nameFile: string;\r\n setNameFile: (value: string) => void;\r\n value: string;\r\n setValue: (value: string) => void;\r\n link: string;\r\n setLink: (value: string) => void;\r\n SharepointSiteURL: string;\r\n TinyURL: string;\r\n visibleConfirmDialog: boolean;\r\n setVisibleConfirmDialog: (value: boolean) => void;\r\n selected: any;\r\n setSelected: any;\r\n};\r\n\r\nexport const AttachmentModal: React.FC = ({\r\n visibleDialog,\r\n setVisibleDialog,\r\n setCheckHasValue,\r\n toast,\r\n template,\r\n onChange,\r\n nameFile,\r\n setNameFile,\r\n link,\r\n setLink,\r\n SharepointSiteURL,\r\n TinyURL,\r\n visibleConfirmDialog,\r\n setVisibleConfirmDialog,\r\n selected,\r\n setSelected,\r\n value,\r\n setValue,\r\n ...props\r\n}: AttachmentModalProp) => {\r\n const [fileType, setFileType] = useState(\"Attach file\");\r\n const { toggleAlert } = useAlert();\r\n const [userData] = useUserContext();\r\n const options = [\"Attach file\", \"Attach link\"];\r\n\r\n const onFileSelected = (e: any) => {\r\n let mapData: any = [];\r\n var hasInvalidFiles = false;\r\n\r\n const file = e.dataTransfer\r\n ? e.dataTransfer.files[0]\r\n : e.currentTarget.files[0];\r\n if (file === undefined) {\r\n return false;\r\n }\r\n console.log({ filefilefile: file });\r\n if (template.description) {\r\n const myArray = template.description.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n mapData.push(myArray[index]);\r\n if (file.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n e.target.value = null;\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n setSelected(undefined);\r\n return;\r\n }\r\n var filesize = file.size / 1024 / 1024;\r\n if (parseInt(template.attribute.max) < filesize) {\r\n toggleAlert({\r\n description: `File size exceeds ${template.attribute.max} MB`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n e.target.value = null;\r\n setSelected(undefined);\r\n return false;\r\n }\r\n setSelected(file);\r\n };\r\n const fileUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n File Formats Accepted {template.description}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n const linkUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n {\r\n setNameFile(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setLink(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n };\r\n const footerDialog = (onChange: any) => {\r\n return (\r\n
\r\n setVisibleDialog(false)}\r\n label=\"Close\"\r\n id=\"CloseButton\"\r\n className=\"close-set-color-button-active-request\"\r\n />\r\n uploadFile(onChange)}\r\n style={{ height: \"38px\" }}\r\n label=\"Save Changes\"\r\n id=\"SaveChangesButton\"\r\n className=\"save-set-color-button-active-request\"\r\n />\r\n
\r\n );\r\n };\r\n const uploadFile = async (onChange: any) => {\r\n try {\r\n if (value === \"Attach file\") {\r\n if (selected) {\r\n const formData = new FormData();\r\n formData.append(`files`, selected);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", \"renderControl\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n const response = await UploadFileAttachFiles(formData);\r\n console.log(response, \"response\");\r\n\r\n if (response?.data?.result) {\r\n onChange(\r\n replaceSpecialChar(selected.name) +\r\n \"|\" +\r\n replaceSpecialChar(response.data.pathUrl)\r\n );\r\n setNameFile(replaceSpecialChar(selected.name));\r\n // if (SharepointSiteURL) {\r\n // setLink(SharepointSiteURL + \"\" + response?.data.pathUrl);\r\n // } else {\r\n setLink(response?.data.pathUrl?.replaceAll(\" \", \"_\"));\r\n // }\r\n }\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please select a file.\");\r\n }\r\n } else if (value === \"Attach link\") {\r\n console.log(\"at+>\", link);\r\n if (link !== undefined) {\r\n onChange(nameFile?.replaceAll(\" \", \"_\") + \"|\" + link);\r\n setNameFile(nameFile?.replaceAll(\" \", \"_\"));\r\n setLink(link);\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please insert a link.\");\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"At=>error\", error);\r\n }\r\n };\r\n const confirm1 = (msg: string) => {\r\n confirmDialog({\r\n message: msg,\r\n header: \"Alert\",\r\n icon: \"pi pi-info-circle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n };\r\n return (\r\n <>\r\n setVisibleDialog(false)}\r\n draggable={false}\r\n footer={footerDialog(onChange)}\r\n >\r\n setValue(e.value)}\r\n >\r\n\r\n {value === \"Attach file\" && fileUpload()}\r\n {value === \"Attach link\" && linkUpload()}\r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Form as AntForm, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { AttachmentModal } from \"./AttachmentModal\";\r\n\r\ntype Props = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputAttachmentProps = {\r\n ref?: any;\r\n rowIdx?: any;\r\n colIdx?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n id?: string;\r\n};\r\n\r\nexport const AttachmentComponent: React.FC = ({\r\n ref,\r\n rowIdx,\r\n colIdx,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n id,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}: InputAttachmentProps) => {\r\n const toast = useRef(null);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n const [link, setLink] = useState();\r\n const [nameFile, setNameFile] = useState(\"\");\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] =\r\n useState(false);\r\n const [selected, setSelected] = useState();\r\n const [uploadType, setUploadType] = useState(\"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n deFaultValue();\r\n }, [value]);\r\n\r\n const deFaultValue = async () => {\r\n try {\r\n const def = template.attribute.default || \"\";\r\n if (!value && !def) {\r\n return;\r\n }\r\n if (value === \"\" && def === \"\") {\r\n return;\r\n }\r\n\r\n const [nameFile, linkFile] = value?.split(\"|\") || def?.split(\"|\");\r\n const linkUrl = linkFile;\r\n\r\n setLink(linkUrl);\r\n setNameFile(nameFile);\r\n setCheckHasValue(true);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n // function openWindow() {\r\n // var pathArray = link.split(\"/\");\r\n // console.log(\"at=>link\", link);\r\n // console.log(\"at=>pathArray\", pathArray);\r\n // console.log({ link });\r\n // const _baseUrl = window.location.hostname;\r\n\r\n // const TmpUrl =\r\n // process.env.NODE_ENV === \"development\"\r\n // ? \"qar2.wolfapprove.com\"\r\n // : _baseUrl;\r\n // console.log({ ddd: `https://${TmpUrl}/${link}` });\r\n\r\n // window.open(`https://${TmpUrl}/${link}`, \"_blank\", \"noreferrer\");\r\n // }\r\n async function openWindow() {\r\n var pathArray = link.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (location.host !== \"localhost:5001\") {\r\n let _port = location.port;\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n position=\"top\"\r\n accept={acceptUpload}\r\n acceptClassName=\"p-button p-component p-button-raised p-button-success\"\r\n rejectClassName=\"p-button p-component p-button-outlined p-button-danger\"\r\n draggable={false}\r\n />\r\n \r\n );\r\n };\r\n\r\n const acceptUpload = () => {\r\n if (uploadType === \"Attach file\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else if (uploadType === \"Attach link\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else {\r\n setCheckHasValue(false);\r\n setSelected(undefined);\r\n setLink(\"\");\r\n setNameFile(\"\");\r\n setUploadType(\"Attach file\");\r\n onChange(\"\");\r\n setIsModalVisible(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {confirmUploadDialog()}\r\n
\r\n \r\n {\r\n if (checkHasValue) {\r\n openWindow();\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n borderBottomRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n \r\n\r\n {checkHasValue && template.attribute.readonly !== \"Y\" && (\r\n {\r\n setUploadType(\"Clear\");\r\n\r\n setVisibleConfirmDialog(true);\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const AttachmentControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n <>\r\n (\r\n <>\r\n \r\n \r\n
\r\n \r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n
\r\n \r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const AttachmentTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n value}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\" &&\r\n buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nconst _userData = JSON.parse(localStorage?.getItem(\"userData\") || \"null\") || { employeeData: {} };\r\n\r\n\r\nconst employeeData = _userData.employeeData;\r\nconst initialSession: IUserModel = employeeData;\r\n\r\nexport const UserContext = createContext<\r\n [IUserModel, (session: IUserModel) => void]\r\n>([initialSession, () => {}]);\r\n\r\nexport const useUserContext = () => useContext(UserContext);\r\n\r\nexport const UserContextProvider: React.FC = (props) => {\r\n const [userData, setUserData] = useState(initialSession);\r\n const defaultUserContext: [IUserModel, typeof setUserData] = [\r\n userData,\r\n setUserData,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import {\r\n GetAttachmentFilesByMemoId,\r\n GetMemoById,\r\n GetRefDocFormTable,\r\n} from \"../Services/MemoService\";\r\nimport { formatColumn } from \"./formatColumn\";\r\n\r\nexport type RefResult = {\r\n items: any[];\r\n listRefDocsDetail: any[];\r\n listFileAttachDetails: any[];\r\n errorMessage?: string;\r\n};\r\n\r\nexport const onChanceRef = async (\r\n refTempSelected: any,\r\n memoDetail: any,\r\n listFormNames: any,\r\n refAttribute: any,\r\n currentTemp: any,\r\n _onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n isRef: boolean\r\n ) => void\r\n) => {\r\n let result: RefResult = {\r\n items: [],\r\n listRefDocsDetail: [],\r\n listFileAttachDetails: [],\r\n };\r\n\r\n try {\r\n if (memoDetail) {\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let template_desc = currentTemp;\r\n let _listRefDocsDetail: any[] = [];\r\n let listFileAttachDetails: any[] = [];\r\n let docsCode: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormNames?.RefDocColumn);\r\n if (\r\n listFormNames?.RefTemplate !== \"\" &&\r\n listFormNames?.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormNames?.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n\r\n for (const refTems of refTempSelected) {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormNames?.template_id,\r\n template_Name: listFormNames?.template_name,\r\n memoSubject: listFormNames?.subject,\r\n };\r\n console.log(\"refTems refTems\", refTems);\r\n console.log(\"refTems\", refDocDetail);\r\n console.log(\"listFormNames\", listFormNames);\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n // docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else if (col.Value === \"_DocumentAmount\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n // getLineApproveForAmount(refTems.Amount, \"\", \"ref\");\r\n } else if (col.Value === \"_RequestorEmployeeName\") {\r\n col.ControlValue = { value: refTems.RNameEn };\r\n } else if (col.Value === \"_RequestorEmployeePosition\") {\r\n col.ControlValue = { value: refTems.RPositionId };\r\n } else if (col.Value === \"_RequestorEmployeeDepartment\") {\r\n col.ControlValue = { value: refTems.DepartmentId };\r\n } else if (col.Value === \"_InformationFormName\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n } else if (col.Value === \"_InformationRequestDate\") {\r\n col.ControlValue = { value: refTems.RequestDate };\r\n } else if (col.Value === \"_InformationCompany\") {\r\n col.ControlValue = { value: refTems.CompanyName };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel.pop();\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n let originDefaultValue = \"\";\r\n selectedColumn.items.map((selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (\r\n selColLabel === _layout.template.label &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (refTable.label === objTable.Value) {\r\n // originDefaultValue =\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n });\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (refAttribute?.mode !== \"Single\") {\r\n //adding if condition to check value of colcontrol\r\n if (col.ControlValue) {\r\n tableRows = col.ControlValue;\r\n }\r\n }\r\n selectedColumn.items[sourceRow].layout[0]?.data?.row?.map(\r\n (row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: null });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n }\r\n );\r\n console.log(\"tableRows\", tableRows);\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n valibCol.push(col);\r\n }\r\n });\r\n // });\r\n // log\r\n console.log(\"ref=>valibCol\", valibCol);\r\n template_desc.map((item: any, rowIdx: number) => {\r\n item.layout.map((_layout: any, colIdx: number) => {\r\n valibCol.map((col: any) => {\r\n if (!col.ControlValue) return;\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (\r\n JSON.stringify(_layout.data.row) !==\r\n JSON.stringify(col.ControlValue)\r\n ) {\r\n _layout.template.attribute.column.forEach(\r\n (originCol: any, _colIdx: number) => {\r\n col.ControlValue.map((refCol: any) => {\r\n if (refCol[_colIdx]?.value === null) {\r\n if (\r\n originCol.control.template.attribute.default !==\r\n \"\"\r\n ) {\r\n refCol[_colIdx].value =\r\n originCol.control.template.attribute.default;\r\n }\r\n }\r\n });\r\n }\r\n );\r\n\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n }\r\n } else if (\r\n col.TypeControl != \"Table\" &&\r\n _layout.template.type != \"l\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (_layout.data?.value !== col.ControlValue?.value) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n } else {\r\n // Nothing do something because template type is heading\r\n }\r\n });\r\n });\r\n });\r\n if (\r\n listFormNames.RefDocDisplay.split(\",\")[5] &&\r\n listFormNames.RefDocDisplay.split(\",\")[5] === \"Yes\"\r\n ) {\r\n let _res: any[] = [];\r\n await getMemoForAttch(refTems.MemoId).then((e: any) => {\r\n if (e) {\r\n result.listFileAttachDetails = [...listFileAttachDetails, ...e];\r\n }\r\n });\r\n }\r\n }\r\n\r\n result.items = template_desc;\r\n result.listRefDocsDetail = _listRefDocsDetail;\r\n }\r\n }\r\n\r\n return result;\r\n } catch (error: any) {\r\n console.log(\"ref=>error\", error);\r\n\r\n result.errorMessage = error;\r\n return result;\r\n }\r\n};\r\n\r\nconst getMemoForAttch = async (memoId: number) => {\r\n const requestBody = {\r\n memoid: memoId,\r\n };\r\n let res: any[] = [];\r\n await GetAttachmentFilesByMemoId(requestBody).then((e: any) => {\r\n res = e;\r\n });\r\n return res;\r\n};\r\n\r\nexport const fetchRefDocFormTable = async (memoDetail: any, template: any) => {\r\n let tempAtt = template.attribute;\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: \"\",\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n\r\n if (refDetails) {\r\n if (refDetails?.dt_Report?.length > 0) {\r\n // let refColumn: any[] = [];\r\n // Object.keys(refDetails.dt_Report[0]).map((key: any) => {\r\n // if (!key.includes(\"Memo_\")) {\r\n // refColumn.push({ key: key, header: key });\r\n // }\r\n // });\r\n // setRefDocOptions([...refDetails.dt_Report]);\r\n return refDetails.dt_Report;\r\n } else {\r\n return [];\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AlertContext } from \"../Context/AlertContext\";\r\n\r\nconst useAlert = () => {\r\n const context = useContext(AlertContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useAlert;\r\n","export const GetAllDynamic = async (\r\n apiName: any,\r\n requestBody?: any,\r\n queryString?: any\r\n) => {\r\n try {\r\n if (!requestBody && window.localStorage.getItem(\"email\")) {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody = { UserPrincipal: email, ConnectionString: \"\" };\r\n }\r\n\r\n let url = \"\";\r\n if (queryString) {\r\n let urlParams = new URLSearchParams({\r\n Scopes: queryString?.Scopes || \"\",\r\n IsActiveOnly: queryString?.IsActiveOnly || \"\",\r\n });\r\n url = \"/api/\" + apiName + \"?\" + urlParams.toString();\r\n } else {\r\n url = \"/api/\" + apiName;\r\n }\r\n\r\n const respone = await fetch(url, requestBody)\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return ex;\r\n });\r\n\r\n return respone;\r\n } catch (error) {\r\n console.log(\"service=>GetAllDynamic=>error\", error);\r\n }\r\n};\r\n\r\nexport const updateDynamic = async (apiName: any, formBody: any) => {\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.substring(0, apiName.length - 1);\r\n }\r\n\r\n const data = {\r\n name: apiName !== \"MasterData\" ? apiName.replace(\"Master\", \"\") : apiName,\r\n model: JSON.stringify(formBody),\r\n };\r\n const respone = await fetch(\"/api/MasterData/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport NumberComponent from \"../../ControlComponents/NumberComponent/NumberComponent\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport CheckboxComponent from \"../../ControlComponents/CheckboxComponent/CheckboxComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AttachmentComponent from \"../../ControlComponents/AttachmentComponent/AttachmentComponent\";\r\nimport DropdownComponent from \"../../ControlComponents/DropdownComponent/DropdownComponent\";\r\nimport RadioComponent from \"../../ControlComponents/RadioComponent/RadioComponent\";\r\nimport CalendarComponent from \"../../ControlComponents/CalendarComponent/CalendarComponent\";\r\nimport ShortTextComponent from \"../../ControlComponents/InputTextComponent/ShortTextComponent/ShortTextComponent\";\r\nimport TextareaComponent from \"../../ControlComponents/InputTextComponent/TextareaComponent/TextareaComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\n// import TableComponent from \"../../ControlComponents/TableComponent/TableComponent\";\r\nimport { SummaryComponent } from \"../../ControlComponents/SummaryComponent/SummaryComponent\";\r\nimport { Item } from \"rc-menu\";\r\nimport { AnyMap } from \"@reduxjs/toolkit/node_modules/immer/dist/internal\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n // GetRunningNumber,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllApprovals,\r\n GetApprovalByTemplate,\r\n} from \"../../../Services/ApprovalService\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\ninterface Props {\r\n coreRender: boolean;\r\n setCoreRender: any;\r\n formTemplate: any;\r\n setInformationMethodProp: (e: any) => void;\r\n errorResult: any;\r\n statusMemoDetail: boolean;\r\n errorTable: any;\r\n setSummary: (respone: any) => void;\r\n templateID: any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n requestDetail: any;\r\n setRequestDetail: any;\r\n setLineApporve: any;\r\n getInformationTemplateProp(): any;\r\n setOnLoading: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n}\r\n\r\nexport const CoreControllerComponent = (props: Props) => {\r\n const [advanceForm, setAdvanceForm] = useState({});\r\n const [tableSummary, setTableSummary] = useState([]);\r\n const [summary, setSummary] = useState(0);\r\n const [isShowSummary, setIsShowSummary] = useState(false);\r\n const [formLoading, setFormLoading] = useState(true);\r\n const [formComponent, setFormComponent] = useState();\r\n const [autoNumFormat, setAutoNumFormat] = useState();\r\n const [autoNumDigit, setAutoNumDigit] = useState();\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [valueTable, setValueTable] = useState([]);\r\n const [runningNumber, setRunningNumber] = useState(\"\");\r\n const [rvsPosition, setRvsPosition] = useState();\r\n const [currentLogic, setCurrentLogic] = useState(\"\");\r\n const userData: any = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n\r\n useEffect(() => {\r\n if (isShowSummary) {\r\n sumValue();\r\n }\r\n }, [isShowSummary]);\r\n\r\n const [isFirstLoad, setIsFirstLoad] = useState(true);\r\n useEffect(() => {\r\n setAdvanceForm(JSON.parse(props.formTemplate));\r\n // console.log(\"ddddddddddddddd\");\r\n if (tableSummary.length === 0) {\r\n setSumTable();\r\n }\r\n // props.setShowControl([]);\r\n // console.log(\"props.form\", JSON.parse(props.formTemplate));\r\n }, [props.formTemplate]);\r\n\r\n useEffect(() => {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n // if (props.showControl?.length === 0) {\r\n // var arr = Array.from(Array(advanceForm.items.length), () =>\r\n // new Array(2).fill(true)\r\n // );\r\n // // props.setShowControl([...arr]);\r\n // }\r\n if (runningNumber === \"\") {\r\n getRevision();\r\n }\r\n // sumValue();\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [advanceForm]);\r\n useEffect(() => {\r\n if (valueTable.length > 0) {\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [valueTable]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.logic.length > 0 &&\r\n props.isInitialLogic === false &&\r\n advanceForm?.items?.length > 0\r\n ) {\r\n checkLogic();\r\n }\r\n }, [props.logic, advanceForm]);\r\n\r\n useEffect(() => {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n if (props.listLogicData?.length > 0) {\r\n setIsFirstLoad(false);\r\n }\r\n if (\r\n props.listLogicData?.length > 0 &&\r\n props.isInitialLogic &&\r\n !isFirstLoad\r\n ) {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datasourcerelated\") {\r\n if (logic.data.relateGroup.length > 0) {\r\n onDataSourceLoadRelated(\r\n logic.data.relateGroup,\r\n logic.data.dataJson\r\n );\r\n }\r\n }\r\n if (logic.name === \"datareladtoloaddata\") {\r\n if (logic.data.length > 0) {\r\n onChangeAttributeForm(logic.data, logic.row, logic.col);\r\n }\r\n }\r\n if (logic.name === \"dataajaxloadtable\") {\r\n onDataAjaxLoadTable(\r\n logic.row,\r\n logic.col,\r\n logic.data.label,\r\n logic.data.dataJson\r\n );\r\n }\r\n if (logic.name === \"reference\") {\r\n onDataRefLoadTable(logic.row, logic.col, logic.data.dataJson);\r\n }\r\n }\r\n }\r\n if (props.listLogicData?.length > 0 && props.isInitialLogic) {\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datalineapprove\") {\r\n onLoadLineApproveWithLogic(logic.data.dataJson);\r\n }\r\n }\r\n }\r\n }, [props.listLogicData]);\r\n async function getRevision() {\r\n let _advanceForm: any = advanceForm;\r\n const detail = props.requestDetail;\r\n\r\n let requestBody: any = {};\r\n if (rvsPosition !== undefined) {\r\n let items: any[] = [];\r\n let rvsTemp =\r\n _advanceForm.items[rvsPosition.rowIdx].layout[rvsPosition.colIdx];\r\n requestBody.TemplateId = detail.memoDetail.template_id;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = rvsTemp.template.attribute.digit;\r\n requestBody.Labelrevision = rvsTemp.template.label;\r\n requestBody.Alter = rvsTemp.template.alter;\r\n\r\n if (rvsTemp.template.attribute.conditions.length > 0) {\r\n rvsTemp.template.attribute.conditions.map((con: any) => {\r\n _advanceForm.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({ Label: con.label, value: layout.data.value });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n const revision = await GetRvsRunning(requestBody);\r\n if (revision) {\r\n setRunningNumber(revision.item);\r\n }\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // if (\r\n // // props.showControl?.length > 0 &&\r\n // // !props.showControl?.every((e: any) => e === true) &&\r\n // advanceForm !== undefined &&\r\n // Object.keys(advanceForm).length !== 0\r\n // ) {\r\n // renderControl(JSON.parse(props.formTemplate));\r\n // setFormLoading(true);\r\n // }\r\n // }, [props.showControl]);\r\n\r\n const onClickLogic = async (\r\n template: any,\r\n rowIdx: Number,\r\n colIdx: Number\r\n ) => {\r\n // console.log(\"template\", template);\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let requestLogic: any = [];\r\n let relateGroup: any = [];\r\n let conditions: any = [];\r\n let lineLogic: string = \"\";\r\n const _logic: any = props.logic;\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n // console.log(logic);\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n if (logic.logictype === \"datasourcerelated\") {\r\n for (let j = 0; j < jsonObject.relatedvalue.length; j++) {\r\n const relateValue = jsonObject.relatedvalue[j];\r\n // console.log(relateValue, template.template.description);\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n relateValue.label === _layout.template.label &&\r\n template.template.description ===\r\n _layout.template.attribute.description &&\r\n jsonObject.label === template.template.label\r\n ) {\r\n // console.log(\r\n // \"dddddddddddddddddddddddddddd\",\r\n // relateValue.label,\r\n // template.template,\r\n // _layout.template\r\n // );\r\n relateGroup.push({\r\n group: relateValue,\r\n row: k,\r\n col: l,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n // console.log(\"ddddddddddd\", dataJson, relateGroup);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n relateGroup,\r\n dataJson,\r\n },\r\n });\r\n // onDataSourceLoadRelated(relateGroup, dataJson);\r\n }\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n labelaction.label === template.template.label &&\r\n jsonObject.autoloadvaluelabel.label ===\r\n _layout.template.label\r\n ) {\r\n // console.log(\r\n // \"labelaction.label\",\r\n // labelaction.label,\r\n // template.template.label,\r\n // _layout.template.label\r\n // );\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n const data: any = await onDatareladToLoadData([dataJson]);\r\n\r\n if (data.length > 0) {\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: data[0].data,\r\n row: k,\r\n col: l,\r\n });\r\n // onChangeAttributeForm(data[0].data, k, l);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"dataajaxloadtable\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.type === \"tb\") {\r\n // console.log(\"dsssssssssssssdasdddddddd\", _layout.template);\r\n for (\r\n let m = 0;\r\n m < _layout.template.attribute.column.length;\r\n m++\r\n ) {\r\n const tbColumn = _layout.template.attribute.column[m];\r\n if (\r\n tbColumn.label === jsonObject.autoloadvaluelabel.label\r\n ) {\r\n const dataJson = {\r\n Key: labelaction.label,\r\n Value:\r\n template.data.value !== undefined\r\n ? template.data.value.toString()\r\n : \"\",\r\n logicid: logic.logicid,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n label: jsonObject.autoloadvaluelabel.label,\r\n dataJson,\r\n },\r\n row: i,\r\n col: j,\r\n });\r\n // const data = onDataAjaxLoadTable(\r\n // i,\r\n // j,\r\n // jsonObject.autoloadvaluelabel.label,\r\n // dataJson\r\n // );\r\n setCurrentLogic(logic.logictype);\r\n // console.log(\"ddddddEEEEEEEEEE\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"reference\") {\r\n let loadTo = { row: -1, col: -1 };\r\n let refFilter: any = [];\r\n let loadToField = jsonObject.Column;\r\n mstTable = jsonObject.Mastertable || \"\";\r\n mstType = jsonObject.Type || \"\";\r\n mColumn = jsonObject.MColumn || \"\";\r\n columnAll = jsonObject.ColumnAll || \"\";\r\n for (let j = 0; j < jsonObject.Filter.length; j++) {\r\n const controlFilter = jsonObject.Filter[j];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.label === jsonObject.label) {\r\n loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n if (_layout.template.label === controlFilter.TBColumn) {\r\n refFilter.push({\r\n mstColumn: controlFilter.MSTColumn,\r\n tbColumn: _layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const dataJson = {\r\n mstTable,\r\n mstType,\r\n mColumn,\r\n columnAll,\r\n refFilter,\r\n loadToField,\r\n };\r\n setCurrentLogic(logic.logictype);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n row: loadTo.row,\r\n col: loadTo.col,\r\n });\r\n // onDataRefLoadTable(loadTo.row, loadTo.col, dataJson);\r\n }\r\n if (logic.logictype === \"datalineapprove\") {\r\n // console.log(\"datalineapprove\");\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (jsonObject.label === _layout.template.label) {\r\n // console.log(\r\n // \"_layout.data.value\",\r\n // _layout.data.value,\r\n // _layout.template.label\r\n // );\r\n\r\n conditions.push({\r\n label: _layout.template.label,\r\n value:\r\n _layout.data.value === null\r\n ? \"\"\r\n : _layout.template.type === \"c\"\r\n ? Number(_layout.data.value).toLocaleString()\r\n : _layout.data.value,\r\n });\r\n lineLogic = logic.logicid;\r\n }\r\n }\r\n }\r\n if (conditions.length > 0) {\r\n const dataJson = {\r\n logicid: lineLogic,\r\n conditions: conditions,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n });\r\n // onLoadLineApproveWithLogic(dataJson);\r\n conditions = [];\r\n lineLogic = \"\";\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // props.setListLogicData((prevState: any) => {\r\n // if (JSON.stringify(prevState) !== JSON.stringify(requestLogic)) {\r\n // return requestLogic;\r\n // }\r\n // });\r\n if (JSON.stringify(props.listLogicData) !== JSON.stringify(requestLogic)) {\r\n\r\n props.setListLogicData([...requestLogic]);\r\n }\r\n console.log(\"requestLogic\", requestLogic, props.listLogicData);\r\n };\r\n const checkLogic = async () => {\r\n const _logic = props.logic;\r\n props.setIsInitialLogic(true);\r\n // console.log(\"checklogic\");\r\n console.log(\"_logic_logic\", props.setIsInitialLogic);\r\n\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empId = userData.employeeData.EmployeeId;\r\n // let _showControl: any = props.showControl;\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let lineSeq = 0;\r\n let currentApproverLevel =\r\n props.requestDetail.memoDetail.current_approval_level;\r\n // let position = [];\r\n // let labelAction = [];\r\n for (let z = 0; z < _logic.length; z++) {\r\n const element = _logic[z];\r\n if (element.jsonvalue !== null && element.jsonvalue !== \"[]\") {\r\n if (element.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[z].jsonvalue);\r\n // console.log(\"Logic=>jsonObject\", jsonObject);\r\n\r\n let positionTable = { row: -1, col: -1 };\r\n\r\n if (element.logictype === \"datasourceload\") {\r\n for (let i = 0; i < advanceForm.items.length; i++) {\r\n const _advanceForm = advanceForm.items[i];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let j = 0; j < _advanceForm.layout.length; j++) {\r\n const _layout = _advanceForm.layout[j];\r\n if (_layout.template.label === jsonObject.label) {\r\n // console.log(\"_layout.template.label\", _layout.template.label);\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n dataSourceLoadGroup.push({\r\n col: j,\r\n row: i,\r\n data: element.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"role\") {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n // console.log(\r\n // \"_layout_layout_layout_layout.label\",\r\n // _layout\r\n // );\r\n // console.log(\r\n // \"fieldaction.label\",\r\n // fieldaction.lable,\r\n // \"_layout.template.label\",\r\n // _layout.template.label\r\n // );\r\n for (let n = 0; n < jsonObject.roleids.length; n++) {\r\n const roleid = jsonObject.roleids[n].id;\r\n for (let m = 0; m < roles.length; m++) {\r\n const role = roles[m];\r\n if (roleid != role.RoleId) {\r\n // console.log(\r\n // \"_showControl\",\r\n // _showControl,\r\n // \":\",\r\n // k,\r\n // \":\",\r\n // l\r\n // );\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"approvetype\") {\r\n // for (let i = 0; i < props.requestDetail.listApprovalDetails.length; i++) {\r\n // const approver = props.requestDetail.listApprovalDetails[i];\r\n // if (approver.emp_id === empId ) {\r\n // lineSeq = approver.sequence\r\n // }\r\n // }\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n // const approvals = await GetAllApprovals({\r\n // memoid: props.requestDetail.memoDetail.memoid,\r\n // });\r\n const approvals = await fetch(\"api/LineApprove/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n memoid: props.requestDetail.memoDetail.memoid,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n for (\r\n let n = 0;\r\n n < jsonObject.approvetypeids.length;\r\n n++\r\n ) {\r\n const typeid = jsonObject.approvetypeids[n].typeid;\r\n\r\n for (let m = 0; m < approvals.length; m++) {\r\n const approver = approvals[m];\r\n\r\n // if (\r\n // props.requestDetail.memoDetail\r\n // .current_approval_level == approver.sequence\r\n // ) {\r\n // console.log(\"dddddddddddddddddddddd\");\r\n\r\n // _showControl[k][l] = false;\r\n // }\r\n if (\r\n props.requestDetail.memoDetail\r\n .current_approval_level != approver.sequence ||\r\n approver.emp_id != empId ||\r\n typeid != approver.ApproveType\r\n ) {\r\n // _showControl[k][l] = false;\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 let logicGroupData: any[] = [];\r\n // console.log(\"dataSourceRelatedToLoadGroup\", dataSourceRelatedToLoadGroup);\r\n if (dataSourceLoadGroup.length > 0) {\r\n const response = await onDataSourceLoad(dataSourceLoadGroup);\r\n logicGroupData.push({ type: \"onDataSourceLoad\", data: response });\r\n // console.log(\"responseGroup\", response);\r\n }\r\n if (dataSourceRelatedToLoadGroup.length > 0) {\r\n const response = await onDatareladToLoadData(\r\n dataSourceRelatedToLoadGroup\r\n );\r\n logicGroupData.push({ type: \"onDatareladToLoadData\", data: response });\r\n // console.log(\"onDatareladToLoadData\", response);\r\n }\r\n onChangeLogicForm(logicGroupData);\r\n // props.setShowControl([..._showControl]);\r\n setFormLoading(false);\r\n };\r\n const onChangeLogicForm = (logicGroupData: any) => {\r\n let _advanceForm = advanceForm;\r\n props.setIsInitialLogic(true);\r\n for (let i = 0; i < logicGroupData.length; i++) {\r\n const logicGroup = logicGroupData[i];\r\n if (logicGroup.type === \"onDataSourceLoad\") {\r\n for (let j = 0; j < logicGroup.data.length; j++) {\r\n let logicData = logicGroup.data[j];\r\n logicData.data.push({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < logicData.data.length; k++) {\r\n const data = logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n logicData.data[k] = keyValues[0];\r\n }\r\n _advanceForm.items[logicData.row].layout[\r\n logicData.col\r\n ].template.attribute.items = logicData.data;\r\n if (\r\n _advanceForm.items[logicData.row].layout[logicData.col].data\r\n .value !== \"-- Please Select --\"\r\n ) {\r\n _advanceForm.items[logicData.row].layout[logicData.col].data.value =\r\n \"-- Please Select --\";\r\n }\r\n\r\n // console.log(\"datasource\", logicData);\r\n }\r\n }\r\n }\r\n // console.log(\"JSON.stringify(_advanceForm)\", JSON.stringify(_advanceForm));\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n\r\n function setSumTable() {\r\n const items = JSON.parse(props.formTemplate).items;\r\n let tableArray: any[] = [];\r\n\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"tb\") {\r\n console.log(\"table=>layout.template\", layout.template);\r\n if (layout.template.attribute.column) {\r\n for (let i = 0; i < layout.template.attribute.column.length; i++) {\r\n const column = layout.template.attribute.column[i];\r\n if (column.control.template.type === \"c\") {\r\n if (column.control.template.attribute.summary === \"Y\") {\r\n tableArray.push({\r\n tableLabel: layout.template.label,\r\n total: 0,\r\n });\r\n\r\n setTableSummary([...tableArray]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n\r\n const onDataRefLoadTable = async (row: any, col: any, dataJson: any) => {\r\n setFormLoading(true);\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n\r\n let query = `SELECT * FROM ${dataJson.mstTable} WHERE `;\r\n\r\n for (let i = 0; i < dataJson.refFilter.length; i++) {\r\n const refFilter = dataJson.refFilter[i];\r\n if (i === 0 && dataJson.refFilter.length > 1) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}' AND `;\r\n }\r\n if (i % 2 === 0) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n if (i % 2 !== 0 && i !== 0) {\r\n query = query + ` AND ${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n }\r\n if (dataJson.mstTable === \"MSTMasterData\" && dataJson.mstType.length > 0) {\r\n query = query + ` AND MasterType='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.mColumn.length > 0) {\r\n query = query + ` AND ${dataJson.mColumn}='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.columnAll.length > 0) {\r\n query = query + ` AND ${dataJson.columnAll}='All'`;\r\n }\r\n // console.log(\"queryquery\", query);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n console.log(\"dddddddddddddddddddsadddddata\", data);\r\n setFormLoading(false);\r\n\r\n onChangeRefValueTableForm(data.DT, dataJson.loadToField, row, col);\r\n });\r\n };\r\n const onDataAjaxLoadTable = async (\r\n row: any,\r\n col: any,\r\n autoloadvaluelabel: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\r\n // \"row, col, dataJson\",\r\n // row,\r\n // col,\r\n // JSON.stringify(dataJson),\r\n // autoloadvaluelabel\r\n // );\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n console.log(\"listLogicData\", data);\r\n\r\n onChangeAttributeTableForm(data, row, col, autoloadvaluelabel);\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n };\r\n const onLoadLineApproveWithLogic = async (dataJson: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = userData.employeeData;\r\n let _dataJson = dataJson;\r\n if (_dataJson.length > 0) {\r\n for (let i = 0; i < _dataJson.length; i++) {\r\n const data = _dataJson[i];\r\n }\r\n }\r\n const requestData = {\r\n employee: empData,\r\n ComCode: props.requestDetail.memoDetail.company_id,\r\n JsonCondition: JSON.stringify(dataJson),\r\n templateForm: {\r\n ...props.requestDetail.memoDetail,\r\n TemplateApproveId: 0,\r\n },\r\n lstTRNLineApprove: [],\r\n };\r\n\r\n // console.log(\"requestData\", requestData);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestData),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // onChangeAttributeForm(data, row, col)\r\n let lineApproval = props.requestDetail.listApprovalDetails;\r\n let _data = data;\r\n let newData: any = [];\r\n let sequence = 0;\r\n let isHas = false;\r\n for (let i = 0; i < _data.length; i++) {\r\n const lineNew = _data[i];\r\n for (let j = 0; j < lineApproval.length; j++) {\r\n const line = lineApproval[j];\r\n if (line.emp_id === lineNew.emp_id) {\r\n newData.push(line);\r\n isHas = true;\r\n }\r\n }\r\n if (isHas) {\r\n isHas = false;\r\n } else {\r\n newData.push(lineNew);\r\n }\r\n }\r\n\r\n console.log(\"_dataLine\", newData, data);\r\n\r\n props.setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...data],\r\n }));\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n\r\n // return responseGroup;\r\n };\r\n const onDatareladToLoadData = async (dataGroup: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n let responseGroup: any[] = [];\r\n setFormLoading(true);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.logicid,\r\n Key: dataSource.Key,\r\n Value: dataSource.Value,\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // console.log(\"dddddddddddddd\", data);\r\n setFormLoading(false);\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onDataSourceLoadRelated = async (relateGroup: any, dataJson: any) => {\r\n // console.log(\"relateGroup, dataJson\", relateGroup, dataJson);\r\n // const dataJson = {\r\n // logicid,\r\n // Key: \"\",\r\n // Value: \"\",\r\n // };\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setFormLoading(false);\r\n\r\n onChangeValueForm(data, relateGroup);\r\n });\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n // console.log(row, col, logicid);\r\n let responseGroup: any[] = [];\r\n console.log(\"table=>dataGroup\", dataGroup);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.data,\r\n Key: \"\",\r\n Value: \"\",\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onTableDatareladToLoadData = async (\r\n row: any,\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\"row, col, dataJson tabel\", dataJson, loadToCol);\r\n let tableValue: any = row;\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => data);\r\n\r\n onChangeValueTableForm(\r\n row,\r\n dataSource,\r\n advanceRow,\r\n advanceCol,\r\n tableRow,\r\n tableCol,\r\n tableActionCol\r\n );\r\n\r\n // console.log(\"dsasdasdweweqweqweqewqwe\");\r\n\r\n // console.log(\r\n // \"tableValuetableValuetableValue\",\r\n // tableValue,\r\n // advanceRow,\r\n // advanceCol\r\n // );\r\n };\r\n const onChangeValueTableForm = (\r\n row: any,\r\n dataRequest: any,\r\n\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let _valueTable = valueTable;\r\n let rowTable: any = row;\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const _colData = _dataRequest[i];\r\n const keyValues = Object.keys(_colData).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: _colData[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n rowTable[tableRow][tableActionCol] = _dataRequest;\r\n // console.log(\"eieieieieiei\", _dataRequest, rowTable, tableActionCol);\r\n setValueTable([...rowTable]);\r\n\r\n // _valueTable.push(_dataRequest[i]);\r\n };\r\n\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n\r\n const onChangeAttributeTableForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number,\r\n autoloadvaluelabel: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n // console.log(W\r\n // \"datatatatatat\",\r\n // _dataRequest,\r\n // autoloadvaluelabel,\r\n // colIdx,\r\n // rowIdx\r\n // );\r\n try {\r\n for (\r\n let i = 0;\r\n i <\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column\r\n .length;\r\n i++\r\n ) {\r\n const col =\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ];\r\n if (col.label === autoloadvaluelabel) {\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ].control.template.attribute.items = _dataRequest;\r\n }\r\n }\r\n } catch (error) {}\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeValueForm = (dataRequest: any, relateGroup: any) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let res: any = [];\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n for (const [key, value] of Object.entries(data)) {\r\n for (let j = 0; j < relateGroup.length; j++) {\r\n const relate = relateGroup[j];\r\n if (relate.group.value === key) {\r\n _advanceForm.items[relate.row].layout[relate.col].data = {\r\n value: value,\r\n };\r\n // res.push({\r\n // label: relate.group.label,\r\n // value: value,\r\n // });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // for (let i = 0; i < _dataRequest.length; i++) {\r\n // const data = _dataRequest[i];\r\n // const keyValues = Object.keys(data).map((key) => {\r\n // const newKey = \"value\";\r\n // return { [newKey]: data[key] };\r\n // });\r\n // _dataRequest[i] = keyValues[0];\r\n // }\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeAttributeForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n\r\n let keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n if (_dataRequest !== null) {\r\n let items = _dataRequest;\r\n const s = items.find((e: any) => e.item === \"-- Please Select -- \");\r\n if (s === undefined) {\r\n items.push({ item: \"-- Please Select -- \" });\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].data.value =\r\n \"-- Please Select -- \";\r\n _dataRequest = items;\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.items =\r\n _dataRequest;\r\n setFormLoading(false);\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n const onChangeRefValueTableForm = (\r\n dataRequest: any,\r\n loadToField: any,\r\n advanceRow: any,\r\n advanceCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest: any = dataRequest;\r\n let _valueTable = valueTable;\r\n console.log(\"permittedValues\", _dataRequest, _advanceForm, advanceRow);\r\n\r\n const permittedValues = _dataRequest.map(function (value: any) {\r\n let res: any = {};\r\n for (let i = 0; i < loadToField.length; i++) {\r\n const field = loadToField[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n // ={ [field[\"TBColumn\"]]: value[field[\"MSTColumn\"]] }\r\n }\r\n return res;\r\n });\r\n\r\n let resRow: any = [];\r\n if (_advanceForm.items) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n _advanceForm?.items[advanceRow].layout[\r\n advanceCol\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n // const dataRef = permittedValues[i];\r\n for (\r\n let j = 0;\r\n j <\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n }\r\n if (_dataRequest.length > 0 && resRow.length > 0 && _advanceForm.items) {\r\n _advanceForm.items[advanceRow].layout[advanceCol].data.row = resRow;\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n };\r\n\r\n const onChangeEditForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n if (_advanceForm) {\r\n _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest;\r\n\r\n if (_advanceForm.items[rowIdx].layout[colIdx].template.type !== \"an\") {\r\n if (!props.statusMemoDetail) {\r\n genAutoNum(_advanceForm.items);\r\n \r\n }\r\n }\r\n if (\r\n (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"dd\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"cb\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"r\") &&\r\n props.isInitialLogic\r\n ) {\r\n onClickLogic(_advanceForm.items[rowIdx].layout[colIdx], rowIdx, colIdx);\r\n\r\n // onCheckLogic( _advanceForm.items[rowIdx].layout[colIdx].data)\r\n\r\n // checkLogic();\r\n }\r\n if (\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"tb\"\r\n ) {\r\n sumValue();\r\n }\r\n // if (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\") {\r\n // if (\r\n // _advanceForm.items[rowIdx].layout[colIdx].template.attribute\r\n // .formula === \"\"\r\n // ) {\r\n // calNumberWithFormula(\r\n // _advanceForm.items[rowIdx].layout[colIdx],\r\n // rowIdx,\r\n // colIdx\r\n // );\r\n // }\r\n // }\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // setAdvanceForm(_advanceForm);\r\n };\r\n const onChangeEditFormTable = (\r\n columns: any,\r\n row: any,\r\n dataRequest: any,\r\n rowIdx: any,\r\n colIdx: any,\r\n tableRowIdx: any,\r\n tableColIdx: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let table = _advanceForm.items[tableRowIdx].layout[tableColIdx];\r\n\r\n const _logic: any = props.logic;\r\n\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n let eiei: any = [];\r\n let labelAction: any = [];\r\n if (table.data.row !== null) {\r\n if (table.data.row.length > 0) {\r\n let dataJson: any = {};\r\n let tableActionCol = 0;\r\n\r\n for (let k = 0; k < jsonObject.labelactions.length; k++) {\r\n const labelaction = jsonObject.labelactions[k];\r\n\r\n if (labelaction.label === columns[colIdx].field) {\r\n dataJson = {\r\n Key: labelaction.label,\r\n Value: dataRequest.value,\r\n logicid: logic.logicid,\r\n };\r\n }\r\n }\r\n for (let k = 0; k < columns.length; k++) {\r\n const _column = columns[k];\r\n\r\n if (jsonObject.autoloadvaluelabel.label === _column.field) {\r\n tableActionCol = k;\r\n }\r\n }\r\n const data = onTableDatareladToLoadData(\r\n row,\r\n tableRowIdx,\r\n tableColIdx,\r\n rowIdx,\r\n colIdx,\r\n tableActionCol,\r\n dataJson\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // useMemo(() => {\r\n // sumValue();\r\n // }, [tableSummary]);\r\n\r\n function onTableFooterChange(\r\n footerVal: any,\r\n footerRow: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) {\r\n let _advanceForm = advanceForm;\r\n\r\n _advanceForm.items[rowIdx].layout[\r\n colIdx\r\n ].template.attribute.footerTable.rows[footerRow].value = footerVal;\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n\r\n async function genAutoNum(control: any[]) {\r\n if (autoNumFormat === undefined) {\r\n let formats: any[] = [];\r\n let digit: number = 0;\r\n control.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"an\") {\r\n formats = layout.template.attribute.formats;\r\n digit = layout.template.digit;\r\n }\r\n });\r\n });\r\n setAutoNumDigit(digit);\r\n setAutoNumFormat(formats);\r\n } else {\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any, colIdx: number) => {\r\n if (\r\n autoNumFormat.find((format: any) => {\r\n if (\r\n format.format.find((fm: any) => {\r\n if (fm.type !== \"pf\") {\r\n if (fm.label === layout.template.label) {\r\n return true;\r\n }\r\n }\r\n })\r\n ) {\r\n return true;\r\n }\r\n })\r\n ) {\r\n let choiceFormat: any = null;\r\n let requestBody: any = {};\r\n autoNumFormat.map((format: any) => {\r\n format.condition.map((con: any) => {\r\n if (\r\n con.label === layout.template.label &&\r\n con.value === layout.data.value\r\n ) {\r\n choiceFormat = format;\r\n }\r\n });\r\n });\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n if (str.length === format.length) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n } else {\r\n autoNumFormat.map((ft: any) => {\r\n if (ft.condition.length === 0) {\r\n ft.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n if (str.length === ft.format.length) {\r\n if (\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"--select--\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (isCheck) {\r\n requestBody.Prefix = str.join(\"-\") + \"-\";\r\n requestBody.Digit = autoNumDigit;\r\n requestBody.TemplateId = props.templateID;\r\n if (!requestBody.Prefix.toLowerCase().includes(\"select\")) {\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== dd) {\r\n onChangeEditForm({ value: dd }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== null) {\r\n onChangeEditForm({ value: null }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (rvsPosition !== undefined) {\r\n onChangeEditForm(\r\n { value: runningNumber },\r\n rvsPosition.rowIdx,\r\n rvsPosition.colIdx\r\n );\r\n }\r\n }, [runningNumber]);\r\n\r\n function sumValue() {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n tableSummary.map((table: any) => {\r\n if (table.total !== 0) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (sum !== summary) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n }\r\n\r\n function updateTableSum(tableName: string, tableSum: number) {\r\n if (tableSummary.length > 0) {\r\n const ss = JSON.stringify(tableSummary);\r\n let sumTable = JSON.parse(ss);\r\n\r\n if (tableSum !== 0) {\r\n sumTable.map((table: any) => {\r\n if (table.tableLabel === tableName) {\r\n table.total = tableSum;\r\n }\r\n });\r\n if (\r\n advanceForm !== undefined &&\r\n Object.keys(advanceForm).length !== 0\r\n ) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n sumTable.map((table: any) => {\r\n if (!isNaN(table.total)) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (!isNaN(sum)) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n setTableSummary([...sumTable]);\r\n } else {\r\n setSummary(0);\r\n props.setSummary(`0.00`);\r\n }\r\n }\r\n }\r\n\r\n function calNumberWithFormula(temp: any, rowIdx: number, colIdx: number) {\r\n try {\r\n let items = advanceForm.items;\r\n let formu: string = temp.template.attribute.formula;\r\n\r\n let total = 0;\r\n if (formu !== \"\" && formu !== null) {\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (formu.includes(\"sum\")) {\r\n const match =\r\n formu\r\n .substring(formu.indexOf(\"(\"), formu.indexOf(\")\"))\r\n .match(/[a-zA-Z-'`ก-๏0-9]+[ a-zA-Z-'`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n const selCol = match[1];\r\n layout.template.attribute.column.map(\r\n (col: any, colIdx: number) => {\r\n if (selCol === col.label) {\r\n layout.data?.row?.map((row: any, rowIdx: number) => {\r\n total += Number(row[colIdx].value);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n const match =\r\n formu.match(/[a-zA-Z' `ก-๏0-9]+[ a-zA-Z '`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value !== null) {\r\n formu = formu.replace(\r\n layout.template.label,\r\n layout.data.value.toString()\r\n );\r\n } else {\r\n formu = formu.replace(layout.template.label, \"0\");\r\n }\r\n }\r\n\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n if (!regExp.test(formu)) {\r\n total = eval(formu);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (total !== null && total !== NaN) {\r\n if (Number(temp.data.value) !== total) {\r\n onChangeEditForm(\r\n { value: total.toFixed(Number(temp.template.attribute.decimal)) },\r\n rowIdx,\r\n colIdx\r\n );\r\n }\r\n } else {\r\n onChangeEditForm({ value: 0 }, rowIdx, colIdx);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"number=>error\", error);\r\n }\r\n }\r\n\r\n const renderControl = async (form: any) => {\r\n setFormComponent([...controlComponent]);\r\n\r\n // setFormLoading(true);\r\n // const control = form.items;\r\n // // console.log(control);\r\n // // const show: any[] = props.showControl;\r\n // let controlComponent: any = [];\r\n // const _errorResult = props.errorResult || [];\r\n // let numFormulas: any[] = [];\r\n // let dd: string = \"set-padding-core-control\";\r\n // // if (props.showControl?.length > 0) {\r\n // for (let i = 0; i < control.length; i++) {\r\n // const _layout = control[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // const grid_size = 12 / _layoutLength;\r\n // let _colText = 0;\r\n // let _colAction = 0;\r\n // if (_layoutLength == 1) {\r\n // _colText = 2;\r\n // _colAction = 10;\r\n // } else if (_layoutLength == 2) {\r\n // _colText = 2;\r\n // _colAction = 4;\r\n // }\r\n // let grid_row = (\r\n // \r\n // {_layout.map((_template: any, idx: any) => {\r\n // const error_corecontroll = _errorResult.find(\r\n // (_data: any, _idx: any) => _data.row === i && _data.col === idx\r\n // );\r\n // if (!onChangeEditForm) {\r\n // return;\r\n // }\r\n // if (\r\n // _template.template.type === \"l\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"c\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // if (_template.template.attribute.formula !== \"\") {\r\n // numFormulas.push({\r\n // label: _template.template.label,\r\n // formula: _template.template.attribute.formula,\r\n // });\r\n // setNumFormulas(numFormulas);\r\n // }\r\n // if (_template.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"d\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"cb\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"r\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"bt\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // if (_template.template.attribute.column) {\r\n // for (\r\n // let i = 0;\r\n // i < _template.template.attribute.column.length;\r\n // i++\r\n // ) {\r\n // const column = _template.template.attribute.column[i];\r\n // if (column.control.template.type === \"c\") {\r\n // if (column.control.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"t\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // dd = \"set-padding-core-control\";\r\n // // console.log(\r\n // // \"showControl[i][idx]\",\r\n // // _template.template.label,\r\n // // showControl[i][idx],\r\n // // i,\r\n // // idx,\r\n // // showControl\r\n // // );\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ta\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.items !== null) {\r\n // let items = _template.template.attribute.items;\r\n // const value = _template.data.value;\r\n // if (items.find((e: any) => e.item === value)) {\r\n // // console.log(\"dropdown=>true\");\r\n // } else {\r\n // // console.log(\"dropdown=>false\");\r\n // }\r\n // }\r\n // // console.log(\"dropdown=>\" + _template.template.label, _template);\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"im\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"em\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // })}\r\n // \r\n // );\r\n // if (!grid_row.props.children.every((e: any) => e === undefined)) {\r\n // controlComponent.push(grid_row);\r\n // }\r\n // }\r\n // // controlComponent.push(\r\n // //
\r\n // // \r\n // //
\r\n // // );\r\n // setFormComponent([...controlComponent]);\r\n // // }\r\n // // setFormLoading(false);\r\n };\r\n\r\n return (\r\n
\r\n {formLoading && (\r\n
\r\n \r\n
\r\n )}\r\n {formComponent}\r\n {isShowSummary && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useEffect } from \"react\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./SummaryComponent.css\";\r\ninterface Props {\r\n headtext: string;\r\n subtext: string;\r\n summaryProps?: any;\r\n}\r\n\r\nexport const SummaryComponent = (props: Props) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, FC, useRef, Dispatch, SetStateAction } from \"react\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useFieldArray } from \"react-hook-form\";\r\n\r\nimport Controls from \"./Controls\";\r\nimport { Form, Spin } from \"antd\";\r\nimport {\r\n ILogic,\r\n ILogicReferenceField,\r\n ILogicTypeDataLineApprove,\r\n ILogicTypeReference,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeSourceRelated,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { ISelectDropdownTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport { formatToColumns } from \"../../../Helper/formatColumn\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n IFormat,\r\n} from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { onChanceRef, RefResult } from \"../../../Helper/RequestRefFunctions\";\r\nimport { GetApprovalsByMemoIDs } from \"../../../Services/LineApprovalsService\";\r\nimport { genAutoNum } from \"../../../Helper/RequestScreenHelper\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\n\r\nimport { LogicType } from \"../../../constants/logic-type\";\r\n\r\ninterface Props {\r\n templateDesc: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n documentNo: any;\r\n errors: any;\r\n reset: any;\r\n allLogic: ILogic[];\r\n isFirstRun: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n onControlChange: (controlName: any, controlValue: any) => any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n setButtonType: (data: any) => void;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n refTempSelected: any[];\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n refAttribute: any;\r\n prepareInitialLogic: (logics: ILogic[], templateDesc: any) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n previousRefTempSelected: any;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n}\r\n\r\nexport const CoreControllerComponentTest: FC = ({\r\n onProcessLogicReference,\r\n templateDesc,\r\n setMemoDetail,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n documentNo,\r\n errors,\r\n onControlChange,\r\n reset,\r\n memoDetail,\r\n allLogic,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n lineApproval,\r\n setLineApproval,\r\n autoNumFormat,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n setListFileAttachDetails,\r\n tableSummaries,\r\n setTableSummaries,\r\n previousView,\r\n refTempSelected,\r\n listFormNames,\r\n refAttribute,\r\n setListRefDocDetails,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n // const [isControlLoading, setIsControlLoading] = useState(false);\r\n\r\n const { fields, append, prepend, remove, swap, move, insert, update } =\r\n useFieldArray({\r\n control, // control from template_desc\r\n name: \"items\",\r\n });\r\n\r\n const controlRef = useRef([]);\r\n const logTemplateDesc = async () => {};\r\n const returnToValure = (template: any, _data: any) => {\r\n let newJa: any = [];\r\n console.log({ template, _data });\r\n // for (let i = 0; i < _data.length; i++) {\r\n // const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < template.attribute.column.length; j++) {\r\n const column = template.attribute.column[j];\r\n gogo.push({ value: _data[column.label] });\r\n }\r\n // newJa.push(gogo);\r\n return gogo;\r\n };\r\n const checkIsSummaryWithoutLogic = (logics: any, controlTemplate: any) => {\r\n let isSummary: boolean = false;\r\n\r\n return isSummary;\r\n };\r\n useEffect(() => {\r\n processRef();\r\n }, [refAttribute, refTempSelected]);\r\n\r\n async function processRef() {\r\n try {\r\n if (refAttribute) {\r\n if (refAttribute.refIdOnQuery) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n } else if (\r\n !isFirstRun.current &&\r\n previousView.current === \"2\" &&\r\n JSON.stringify(previousRefTempSelected.current) !==\r\n JSON.stringify(refTempSelected)\r\n ) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields,\r\n _onControlChange\r\n );\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n previousRefTempSelected.current = refTempSelected;\r\n onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>useEffect=>error\", error);\r\n }\r\n }\r\n\r\n const onRefSelect = async (refResult: any, refSelected: any) => {\r\n try {\r\n setIsControlLoading(true);\r\n let _listLineApprove: any[] = [...lineApproval];\r\n let listMemoIds: number[] = [];\r\n refSelected.forEach((e: any) => {\r\n listMemoIds.push(e.MemoId);\r\n });\r\n\r\n if (refAttribute?.isDefaultLineApprove) {\r\n const resApprovals: any[] = await GetApprovalsByMemoIDs(listMemoIds);\r\n if (resApprovals?.length > 0) {\r\n setLineApproval([..._listLineApprove, ...resApprovals]);\r\n }\r\n }\r\n\r\n const _control = await detechRevisionControl(\r\n memoDetail.template_id,\r\n refResult.items,\r\n listMemoIds[0]\r\n );\r\n\r\n const newControl = await _onControlChangeRef(_control);\r\n if (Array.isArray(newControl)) {\r\n setValue(\"items\", [...newControl]);\r\n } else {\r\n setValue(\"items\", [...newControl.items]);\r\n }\r\n\r\n setListRefDocDetails(refResult.listRefDocsDetail);\r\n console.log(\"ref=>refResult\", refResult);\r\n\r\n setListFileAttachDetails(refResult.listFileAttachDetails);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n const onProcessSummary = (\r\n _control: any,\r\n jsonCondition: any,\r\n controlTemplate?: any,\r\n controlValue?: any\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let isSum = false;\r\n let isControlHasSum = false;\r\n\r\n if (\r\n controlTemplate &&\r\n controlTemplate.type === \"c\" &&\r\n controlTemplate.attribute.summary === \"Y\"\r\n ) {\r\n isControlHasSum = true;\r\n }\r\n _control?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n try {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isControlHasSum = true;\r\n isSum = true;\r\n _amount += Number(layout.data.value);\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n const tableCol: any[] = layout.template.attribute.column;\r\n let tableSum: number = 0;\r\n if (controlValue?.length > 0) {\r\n const selTable =\r\n controlTemplate?.type === \"tb\"\r\n ? controlValue?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n )\r\n : tableSummaries?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n );\r\n\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n if (\r\n !Number.isNaN(\r\n Number(selTable.AllCol[col.control.template.label])\r\n )\r\n ) {\r\n isSum = true;\r\n isControlHasSum = true;\r\n tableSum += Number(\r\n selTable.AllCol[col.control.template.label]\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n layout.data.row?.forEach((row: any) => {\r\n isSum = true;\r\n isControlHasSum = true;\r\n if (Number(row[colIdx]) !== 0) {\r\n tableSum += Number(row[colIdx]);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _amount += tableSum;\r\n }\r\n } catch (error) {\r\n console.log(\"sum=>error\", error);\r\n }\r\n });\r\n });\r\n\r\n getLineApproveForAmount(_amount, undefined, undefined, controlTemplate);\r\n\r\n return {\r\n _amount: _amount,\r\n isSum: isSum,\r\n isControlHasSum: isControlHasSum,\r\n };\r\n } catch (error) {\r\n console.log(\"sum=>error\", error);\r\n }\r\n };\r\n\r\n const calCulateCorecontrol = async (\r\n currentControl: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n try {\r\n setIsControlLoading(true);\r\n\r\n if (controlValue) {\r\n for (let i = 0; i < numFormulas.length; i++) {\r\n let formula = numFormulas[i];\r\n if (formula.formula) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n let match: any = resulstField[0].match(/[^+\\-\\*\\/=]+/g) || [];\r\n let total: number = NaN;\r\n\r\n match.forEach((formu: any) => {\r\n if (formu?.includes(\"sum\")) {\r\n if (controlTemplate.type === \"tb\") {\r\n try {\r\n const selCol = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\";\");\r\n const tableCol: any[] = controlTemplate.attribute.column;\r\n console.log(selCol);\r\n\r\n const selValue = controlValue.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n total = 0;\r\n if (selValue?.AllCol[col.label] != undefined) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n } catch (error) {\r\n console.log(\"cal=>error\", error);\r\n }\r\n } else {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (col.template.type === \"tb\") {\r\n const selCol = formu\r\n .substring(\r\n formu.indexOf(\"(\") + 1,\r\n formu.lastIndexOf(\")\")\r\n )\r\n .split(\";\");\r\n const tableCol: any[] = col.template.attribute.column;\r\n\r\n const selValue = tableSummaries.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n if (selValue?.AllCol[col.label]) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n } else {\r\n currentControl?.forEach((item: any, rowIdx: number) => {\r\n item?.layout?.forEach((layout: any) => {\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value && layout.data.value !== \"\") {\r\n variables = variables.replace(\r\n layout.template.label,\r\n layout.data.value.toString().replaceAll(\",\", \"\")\r\n );\r\n } else {\r\n variables = variables.replace(\r\n layout.template.label,\r\n \"0\"\r\n );\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n\r\n if (!regExp.test(variables)) {\r\n total = eval(variables);\r\n }\r\n if (!isNaN(total)) {\r\n const callLogics: any[] = checkCallLogic(\r\n allLogic,\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template\r\n );\r\n\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = total.toFixed(\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template.attribute.decimal\r\n );\r\n if (callLogics.length > 0) {\r\n // let _jsonConditions = jsonConditions;\r\n for (let i = 0; i < callLogics.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogics[i],\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template,\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .data.value,\r\n currentControl,\r\n false\r\n );\r\n\r\n // _jsonConditions = _response || \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return currentControl;\r\n } catch (error) {\r\n console.log(\"cal=>error\", error);\r\n }\r\n };\r\n\r\n const updateTableSummaries = (tableTemp: any, value: any) => {\r\n if (tableSummaries) {\r\n const _tableSummaries = JSON.stringify(tableSummaries);\r\n let _sumTable = JSON.parse(_tableSummaries);\r\n\r\n _sumTable.map((e: any) => {\r\n if (e.tableTemp.label === tableTemp.label) {\r\n e.AllCol = value;\r\n }\r\n });\r\n\r\n if (JSON.stringify(_sumTable) !== JSON.stringify(tableSummaries)) {\r\n _onControlChange(tableTemp, _sumTable, true);\r\n setTableSummaries([..._sumTable]);\r\n }\r\n }\r\n };\r\n\r\n //check if control has logic\r\n const checkCallLogic = (logics: any, controlTemplate: any) => {\r\n let callLogic: any[] = [];\r\n\r\n logics.forEach((logic: ILogic) => {\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n if (controlTemplate.type === \"tb\") {\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (jsonValue.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else {\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const selectAction = jsonValue.labelactions.find(\r\n (e) => e.label === controlTemplate.label\r\n );\r\n if (selectAction) {\r\n callLogic.push(logic);\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (controlTemplate.type === \"tb\") {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (labelAction.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n\r\n if (labelAction.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n for (let i = 0; i < jsonValue.Filter.length; i++) {\r\n const filter = jsonValue.Filter[i];\r\n if (filter.TBColumn === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n });\r\n\r\n return callLogic;\r\n };\r\n const _onControlChangeRef = async (refControl: any) => {\r\n let _jsonConditions = jsonConditions;\r\n let template: any = null;\r\n if (!isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic;\r\n\r\n let oldRefControl = refControl;\r\n\r\n setIsControlLoading(true);\r\n\r\n oldRefControl = await prepareInitialLogic(logics, {\r\n items: oldRefControl,\r\n });\r\n\r\n for (let i = 0; i < oldRefControl.items.length; i++) {\r\n const item = oldRefControl.items[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.type !== \"tb\") {\r\n const callLogic = checkCallLogic(logics, layout.template);\r\n\r\n if (callLogic.length > 0) {\r\n template = layout.template;\r\n }\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogic[i],\r\n layout.template,\r\n layout.data.value,\r\n refControl,\r\n false\r\n );\r\n\r\n _jsonConditions = _response || \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n oldRefControl.items = await genAutoNum(\r\n oldRefControl.items,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n const sumRes = await onProcessSummary(\r\n refControl,\r\n _jsonConditions,\r\n template,\r\n null\r\n );\r\n\r\n setIsControlLoading(false);\r\n if (_jsonConditions) {\r\n if (_jsonConditions.type && _jsonConditions.value) {\r\n oldRefControl = _jsonConditions.value;\r\n }\r\n }\r\n return oldRefControl;\r\n }\r\n return refControl;\r\n }\r\n return refControl;\r\n };\r\n\r\n //trigger when control value change\r\n const _onControlChange = async (\r\n controlTemplate: ISelectDropdownTemplate | any, //controled change template\r\n controlValue: any, //value\r\n isInTable: boolean = false, // if control in table\r\n isRef?: boolean\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let _jsonConditions: string = jsonConditions; //condition for datalineapprove logic\r\n setIsControlLoading(true);\r\n //for not trigger when change tap to Information screen\r\n if (controlValue && !isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic; //all template logic\r\n\r\n //check if triggered control has logic or not\r\n const callLogic = checkCallLogic(logics, controlTemplate);\r\n\r\n //unrelate constant\r\n const _controlString = JSON.stringify(fields);\r\n const oldControl = JSON.parse(_controlString);\r\n const _control = JSON.parse(_controlString);\r\n\r\n const newControlString = JSON.stringify(_control);\r\n let newControl = JSON.parse(newControlString);\r\n\r\n //check if can call logic and this control not type = tb\r\n\r\n //calculate all control value to amount in memodetail\r\n newControl = await calCulateCorecontrol(\r\n _control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n\r\n const sumRes = await onProcessSummary(\r\n newControl,\r\n _jsonConditions,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (\r\n (controlTemplate.type !== \"tb\" || isInTable) &&\r\n callLogic.length > 0\r\n ) {\r\n /*process logic return type [control,table,lineapprove] and value when fetch from api\r\n 1.control value in template\r\n 2.table value in row in table\r\n 3.lineapprove value is jsoncondition\r\n */\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const { type, value, controls } = await onProcessLogic(\r\n callLogic[i],\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable,\r\n sumRes\r\n );\r\n\r\n if (type === \"table_dd_to_dd\" && isInTable) {\r\n //setNewOptionToControl\r\n newControl[controls.row].layout[\r\n controls.layout\r\n ].template.attribute.column[\r\n controls.columnTb\r\n ].control.template.attribute.items = value;\r\n } else if (type === \"control\") {\r\n newControl = value;\r\n }\r\n //return value to save function in TableComponent\r\n if ((type === \"table\" || type === \"control\") && isInTable) {\r\n setIsControlLoading(false);\r\n return { type, value };\r\n } else if (type === \"lineapprove\" && !isInTable) {\r\n //set jsonconditions\r\n console.log(\"lineapprove=>\", value);\r\n\r\n _jsonConditions = value || \"\";\r\n }\r\n }\r\n }\r\n\r\n //set value to hook-form\r\n\r\n if (newControl && !isRef) {\r\n setValue(\"items\", [...newControl]);\r\n }\r\n }\r\n }\r\n setIsControlLoading(false);\r\n } catch (error) {\r\n setIsControlLoading(false);\r\n console.log(\"core=>error\", error);\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (\r\n _templateId: any,\r\n _control: any,\r\n memoId?: number\r\n ) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = memoId;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n requestBody.MemoId = null;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n if (\r\n _control[rowIndex].layout[colIndex].template.attribute.conditions\r\n .length > 0\r\n ) {\r\n const rvsCon = _control[rowIndex].layout[colIndex];\r\n rvsCon.template.attribute.conditions.map((con: any) => {\r\n _control.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.Itemlabel = items;\r\n\r\n if (requestBody.Itemlabel.length > 0) {\r\n let isCheck = true;\r\n\r\n requestBody.Itemlabel.forEach((item: any) => {\r\n if (!item.value || item.value === \"\") {\r\n isCheck = false;\r\n return;\r\n }\r\n });\r\n\r\n if (isCheck) {\r\n const revision = await GetRvsRunning(requestBody);\r\n _control[rowIndex].layout[colIndex].data.value = revision.item;\r\n }\r\n }\r\n }\r\n return _control;\r\n } catch (error) {\r\n console.log(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n //process datasourcerelate function\r\n const onProcessLogicDataSourceRelated = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n control: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n let jsonRelated: any = [];\r\n if (jsonValue.label === controlTemplate.label && !isInTable) {\r\n //body to fetch data\r\n const conditions = jsonValue.conditions;\r\n if (conditions.length > 1) {\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < control.length; k++) {\r\n const item = control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label) {\r\n if (e.label === _label) {\r\n jsonRelated.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n jsonRelated\r\n );\r\n } else {\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n }\r\n\r\n console.log(\"logic=>jsonRelated\", jsonRelated);\r\n\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.label === relateValue.label) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n } else if (isInTable) {\r\n console.log(\"logic2=>controlValue\", controlValue, jsonValue);\r\n\r\n if (controlValue.dataIndex === jsonValue.label) {\r\n const dataJson = {\r\n Key: controlValue.dataIndex,\r\n Value: controlValue.values[controlValue.dataIndex],\r\n logicid: logic.logicid,\r\n };\r\n console.log(\"logic2=>dataJson\", dataJson);\r\n\r\n const _dataJson: any[] = [];\r\n const conditions = jsonValue.conditions;\r\n const _control = controlTemplate.attribute.column;\r\n console.log(\"logic2=>jsonValue,\", jsonValue, controlValue);\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n if (e.label === item.label) {\r\n _dataJson.push({\r\n Key: item.label,\r\n Value: controlValue[e.label],\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n });\r\n\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n _dataJson\r\n );\r\n\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue.length; i++) {\r\n const relateValue = jsonValue.relatedvalue[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const item = controlTemplate.attribute.column[j];\r\n for (\r\n let k = 0;\r\n k < responseDataSourceLoadRelated.data.length;\r\n k++\r\n ) {\r\n const relate = responseDataSourceLoadRelated.data[k];\r\n for (const [keyRelate, valueRelate] of Object.entries(relate)) {\r\n if (\r\n keyRelate === relateValue.value &&\r\n relateValue.label === item.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: controlValue.key,\r\n col: j,\r\n valueRelate,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const onProcessLogicAjax = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n //body to fetch data\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n const relateValue = jsonValue.autoloadvaluelabel.label;\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n if (jsonValue.labelactions[i].label === controlTemplate.label) {\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIdx: number) => {\r\n if (col.label === relateValue) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n tableCol: colIdx,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n\r\n return false;\r\n };\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any,\r\n isInTable: boolean\r\n ) => {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const { dataJson, loadTo, actionFrom } = onFindDataJson(\r\n controlTemplate,\r\n controlValue,\r\n control,\r\n jsonValue,\r\n logic.logicid,\r\n isInTable\r\n );\r\n\r\n if (dataJson) {\r\n // check if has response data\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const checkIfGetData = (data: any[]) => {\r\n let _bool = true;\r\n console.log(\"logic=>data\", data);\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].item === \"\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n }\r\n if (data.length === 1 && data[0].item === \"-- Please Select --\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n return _bool;\r\n };\r\n\r\n const onProcessLogic = async (\r\n logic: ILogic,\r\n controlTemplate: ISelectDropdownTemplate | any,\r\n controlValue: any,\r\n _control: any,\r\n isInTable: boolean,\r\n sumRes?: any\r\n ): Promise<{\r\n type: \"control\" | \"lineapprove\" | \"table\" | \"table_dd_to_dd\" | null;\r\n value: any;\r\n controls?: any;\r\n }> => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n try {\r\n const controlString = _control\r\n ? JSON.stringify(_control)\r\n : JSON.stringify(templateDesc.items);\r\n\r\n let newControl;\r\n if (controlString) {\r\n newControl = JSON.parse(controlString);\r\n }\r\n console.log(\"lineapprove=>\", {\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n _control,\r\n isInTable,\r\n });\r\n if (logic) {\r\n //find logic that control have\r\n setIsControlLoading(true);\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //check if this control in table\r\n if (controlTemplate.type === \"tb\" && isInTable) {\r\n //format value to data in template type = table\r\n const ee = returnToValure(controlTemplate, controlValue);\r\n\r\n let newColumn: any = {};\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n //put data to specific row\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row] = ee;\r\n\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row][relateGroup.col].value =\r\n relateGroup.valueRelate;\r\n\r\n //format value to row value\r\n newColumn = formatToColumns(\r\n controlTemplate.attribute.column,\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row]\r\n );\r\n }\r\n\r\n const responseDataTable = {\r\n ...newColumn,\r\n key: controlValue.key,\r\n };\r\n\r\n return { type: \"table\", value: responseDataTable };\r\n } else {\r\n console.log(\"logic=>datasourcerelated\", responseData);\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n\r\n for (\r\n let j = 0;\r\n j < responseData.responseDataSourceLoadRelated.data.length;\r\n j++\r\n ) {\r\n const relateData =\r\n responseData.responseDataSourceLoadRelated.data[j];\r\n\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.value = relateData[relateGroup.relateValue.value];\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const responseData = await onProcessLogicReference(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //map data from api response\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData.loadTo.length; i++) {\r\n const field = responseData.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n\r\n //create empty table data as response api length\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n\r\n //loop for put data to table\r\n for (const [key, value] of Object.entries(perValue)) {\r\n //loop throught table template column length\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n // if column label = key of data response, put data in\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n\r\n resRow.push(colData);\r\n }\r\n\r\n newControl[responseData.row].layout[responseData.col].data.row =\r\n resRow;\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n await getLineApproveForAmount(\r\n sumRes?._amount,\r\n responseData,\r\n LogicType.DataLineApprove,\r\n controlTemplate\r\n );\r\n setIsControlLoading(false);\r\n\r\n // return { type: \"lineapprove\", value: responseData };\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const responseData = await onProcessLogicDataRelatedToLoadData(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable\r\n );\r\n\r\n if (responseData) {\r\n if (responseData.data) {\r\n if (!isInTable) {\r\n newControl[responseData.loadTo.row].layout[\r\n responseData.loadTo.col\r\n ].template.attribute.items = responseData.data.data;\r\n\r\n return { type: \"control\", value: newControl };\r\n } else {\r\n if (checkIfGetData(responseData.data.data)) {\r\n let positionControl: { row: number; col: number } = {\r\n row: -1,\r\n col: -1,\r\n };\r\n for (let i = 0; i < newControl.length; i++) {\r\n const items = newControl[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const layout = items.layout[j];\r\n if (layout.template.label === controlTemplate.label) {\r\n positionControl = { row: i, col: j };\r\n }\r\n }\r\n }\r\n //addCheckedToArray\r\n const mapDataItem: any[] = [];\r\n for (\r\n let index = 0;\r\n index < responseData.data.data.length;\r\n index++\r\n ) {\r\n const element = responseData.data.data[index];\r\n mapDataItem.push({\r\n checked: index === 0 ? \"Y\" : \"N\",\r\n ...element,\r\n });\r\n }\r\n let actionCol = null;\r\n let targetCol = null;\r\n\r\n if (responseData.actionFrom.col !== -1) {\r\n let _tableOptions = [...tableOptions];\r\n\r\n actionCol =\r\n controlTemplate.attribute.column[\r\n responseData.actionFrom?.col\r\n ];\r\n targetCol =\r\n controlTemplate.attribute.column[responseData.loadTo.col];\r\n const options = tableOptions.find(\r\n (e) =>\r\n e.actionsCol.rowIdx === responseData.actionFrom.row &&\r\n e.actionsCol.colIdx === responseData.actionFrom.col\r\n );\r\n if (options) {\r\n _tableOptions.map((e) => {\r\n if (\r\n e.actionsCol.rowIdx === responseData.actionFrom.row &&\r\n e.actionsCol.colIdx === responseData.actionFrom.col\r\n ) {\r\n e.targetCol.options = responseData.data.data;\r\n }\r\n });\r\n } else {\r\n _tableOptions.push({\r\n actionsCol: {\r\n label: actionCol.label,\r\n rowIdx: controlValue.key,\r\n colIdx: responseData.actionFrom.col,\r\n value: controlValue[actionCol.label],\r\n },\r\n targetCol: {\r\n label: targetCol.label,\r\n rowIdx: controlValue.key,\r\n colIdx: responseData.loadTo.col,\r\n options: responseData.data.data,\r\n },\r\n });\r\n }\r\n setTableOptions([..._tableOptions]);\r\n }\r\n\r\n return {\r\n type: \"table_dd_to_dd\",\r\n value: mapDataItem,\r\n controls: {\r\n row: positionControl.row,\r\n layout: positionControl.col,\r\n columnTb: responseData.loadTo.col,\r\n },\r\n };\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const responseData = await onProcessLogicAjax(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable\r\n );\r\n if (responseData) {\r\n for (\r\n let i = 0;\r\n i < responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const processData = formatKeyLogicData(\r\n responseData.responseDataSourceLoadRelated\r\n );\r\n\r\n _control[processData.relateGroup[i].row].layout[\r\n processData.relateGroup[i].col\r\n ].template.attribute.column[\r\n processData.relateGroup[i].tableCol\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n\r\n reset({\r\n items: _control,\r\n });\r\n }\r\n }\r\n setIsControlLoading(false);\r\n }\r\n } catch (error) {\r\n console.log(\r\n \"onProcessLogic=>error\",\r\n error,\r\n \"Logic=> \" + logic,\r\n \"value=> \",\r\n controlValue\r\n );\r\n }\r\n return { type: null, value: null };\r\n };\r\n\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n // setFormLoading(false);\r\n\r\n // onChangeValueForm(data, relateGroup);\r\n });\r\n return dataSource;\r\n };\r\n\r\n const onFindDataJson = (\r\n controlTemplate: any,\r\n controlValue: string,\r\n _control: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logicid: string,\r\n isInTable: boolean\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n\r\n if (!isInTable) {\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j].label;\r\n\r\n if (controlTemplate.label === labelaction) {\r\n const conditions = jsonValue.conditions;\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n }\r\n if (jsonValue.autoloadvaluelabel.label === _label) {\r\n response.loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const _controlValue = controlValue as any;\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j];\r\n\r\n for (let k = 0; k < controlTemplate.attribute.column.length; k++) {\r\n const column = controlTemplate.attribute.column[k];\r\n\r\n if (column.control.template.label === labelaction.label) {\r\n console.log(\"logic=>TB_controlValue\", _controlValue);\r\n\r\n const conditions = jsonValue.conditions;\r\n console.log(\"logic=>TB_conditions\", conditions);\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n } else if (column.control.template.label === e.label) {\r\n console.log(\r\n \"logic=>e.label\",\r\n column.control.template.label,\r\n e.label\r\n );\r\n const exit = response.dataJson.find(\r\n (e) => e.Key === column.control.template?.label\r\n );\r\n if (!exit) {\r\n response.dataJson.push({\r\n Key: column.control.template?.label,\r\n Value:\r\n _controlValue.values[column.control.template.label],\r\n logicid: logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n response.actionFrom = { row: _controlValue.key, col: k };\r\n\r\n // }\r\n }\r\n if (\r\n column.control.template.label === jsonValue.autoloadvaluelabel.label\r\n ) {\r\n response.loadTo = {\r\n row: _controlValue.key,\r\n col: k,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n console.log(\"logic=>response\", response);\r\n\r\n return response;\r\n };\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n if (_control) {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n if (layout.template.type === \"dd\") {\r\n if (\r\n layout.template.attribute.items[0].item !== layout.data.value\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n } else {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n {fields.map((_control: any, idx: number) => {\r\n let dd: string = \"set-padding-core-control\";\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n","import { Dropdown, InputRef, Menu, Typography } from \"antd\";\r\nimport { Form, Table, Modal } from \"antd\";\r\nimport type { FormInstance } from \"antd/lib/form\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TieredMenu } from \"primereact/tieredmenu\";\r\nimport React, {\r\n Dispatch,\r\n SetStateAction,\r\n useContext,\r\n useEffect,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { IoEllipsisVertical } from \"react-icons/io5\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { GetRefDocFormTable } from \"../../../Services/MemoService\";\r\nimport {\r\n IColumn,\r\n SelectDataDialog,\r\n} from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AttachmentTableComponent } from \"../AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { DatePickerTableComponent } from \"../DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputTableComponent } from \"../InputControlComponent/InputControlComponent\";\r\nimport { InputNumberTableComponent } from \"../InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { CheckboxTableComponent } from \"../MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxTableComponent } from \"../MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { RadioTableComponent } from \"../RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownTableComponent } from \"../SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport { InputTextAreaTableComponent } from \"../TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport MoveToDialog from \"./MoveToDialog\";\r\nimport \"./TableComponentCSS.css\";\r\nimport { GetReportById } from \"../../../Services/ReportService\";\r\nimport TableFooter from \"./TableFooter\";\r\n\r\nimport moment from \"moment\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport {\r\n CheckCircleOutlined,\r\n CloseSquareOutlined,\r\n FileTextOutlined,\r\n} from \"@ant-design/icons\";\r\nimport ExcelTablePreview from \"./ExcelTablePreview\";\r\n\r\nconst { confirm } = Modal;\r\nconst { Text } = Typography;\r\n\r\nconst EditableContext = React.createContext | null>(null);\r\n\r\nexport interface tableSelectOption {\r\n actionsCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n value: any;\r\n };\r\n targetCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n options: { item: string }[];\r\n };\r\n}\r\n\r\nexport interface Item {\r\n key: string;\r\n name: string;\r\n age: string;\r\n address: string;\r\n}\r\ninterface EditableRowProps {\r\n index: number;\r\n}\r\n\r\nexport type TableInputProps = {\r\n rowIdx?: number;\r\n colIdx?: number;\r\n template: any;\r\n name: string;\r\n saveFunc: any;\r\n inputRef: any;\r\n value?: any;\r\n isEditing: boolean;\r\n onEdit: any;\r\n children: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n record?: Item;\r\n tableOptions?: tableSelectOption[];\r\n actionAlert?: any;\r\n toggleEdit?: any;\r\n};\r\n\r\nconst EditableRow: React.FC = ({ index, ...props }) => {\r\n const [form] = Form.useForm();\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\ninterface EditableCellProps {\r\n title: React.ReactNode;\r\n editable: boolean;\r\n children: React.ReactNode;\r\n dataIndex: keyof Item;\r\n record: Item;\r\n handleSave: (record: Item, responseControlChange: any) => void;\r\n template: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n isError: boolean;\r\n tableOptions: tableSelectOption[];\r\n actionAlert?: any;\r\n setButtonType: (buttonType: any) => void;\r\n setTableOptions: Dispatch<\r\n SetStateAction<{ loadtoLabel: string; options: any[] }>\r\n >;\r\n // isControlLoading: any;\r\n}\r\n\r\nconst EditableCell: React.FC = ({\r\n title,\r\n editable,\r\n children,\r\n dataIndex,\r\n record,\r\n handleSave,\r\n template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n setButtonType,\r\n isError,\r\n tableOptions,\r\n setTableOptions,\r\n // isControlLoading,\r\n actionAlert,\r\n ...restProps\r\n}) => {\r\n const [editing, setEditing] = useState(false);\r\n const inputRef = useRef(null);\r\n const form = useContext(EditableContext)!;\r\n // const [templateState, setTemplateState] = useTemplateDescContext();\r\n useEffect(() => {\r\n if (editing) {\r\n inputRef?.current!?.focus({\r\n cursor: \"end\",\r\n });\r\n }\r\n }, [editing]);\r\n\r\n const toggleEdit = async () => {\r\n setEditing(!editing);\r\n form.setFieldsValue({ [dataIndex]: record[dataIndex] });\r\n };\r\n\r\n const save = async (value?: any, type?: any) => {\r\n try {\r\n // let values = await form.getFieldsValue();\r\n //let values = await form.validateFields();\r\n let values = await form.getFieldsValue();\r\n let responseControlChange = null;\r\n if (type === \"dd\") {\r\n responseControlChange = await onControlChange(\r\n template,\r\n { ...record, ...values, rowTemplate, colTemplate, dataIndex, values },\r\n true\r\n );\r\n if (responseControlChange && responseControlChange.type === \"table\") {\r\n values = responseControlChange.value;\r\n }\r\n }\r\n handleSave({ ...record, ...values }, responseControlChange);\r\n\r\n toggleEdit();\r\n } catch (errInfo) {\r\n console.log(\"Save failed:\", errInfo);\r\n }\r\n };\r\n let childNode = children;\r\n\r\n if (editable) {\r\n for (let i = 0; i < template.attribute.column.length; i++) {\r\n let _col = template.attribute.column[i];\r\n const label = _col.control.template.label\r\n ? _col.control.template.label\r\n : _col.label;\r\n const type = _col.control.template.type;\r\n\r\n if (label === dataIndex) {\r\n if (type === \"ta\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"l\") {\r\n } else if (type === \"c\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"cb\") {\r\n if (_col.control.template.attribute.display === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else {\r\n childNode = (\r\n \r\n );\r\n }\r\n } else if (type === \"t\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"r\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"d\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"at\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"bt\") {\r\n } else if (type === \"id\") {\r\n return <>1;\r\n } else if (type === \"action\") {\r\n // return ;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
{childNode}
\r\n \r\n );\r\n};\r\n\r\ntype EditableTableProps = Parameters[0];\r\n\r\ntype ColumnTypes = Exclude;\r\ntype TableProps = {\r\n _columns: any;\r\n _data: any;\r\n onChange: any;\r\n layout: any;\r\n isControlLoading: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n tableSummary?: any;\r\n onSubmit: any;\r\n isError: boolean;\r\n memoDetail: IMemoDetailModel;\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n tableOptions: { loadtoLabel: string; options: any[] };\r\n setTableOptions: Dispatch<\r\n SetStateAction<{ loadtoLabel: string; options: any[] }>\r\n >;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n};\r\n\r\nconst TableComponent: React.FC = ({\r\n _columns,\r\n _data,\r\n onChange,\r\n layout,\r\n isControlLoading,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableSummary,\r\n onSubmit,\r\n isError,\r\n memoDetail,\r\n updateTableSummaries,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n colIdx,\r\n rowIdx,\r\n colText,\r\n ...props\r\n}) => {\r\n const [moveToDialogVisible, setMoveToDialogVisible] =\r\n useState(false);\r\n const [moveFormIndex, setMoveFormIndex] = useState(-1);\r\n\r\n const [summary, setSummary] = useState();\r\n const fileInputRef = useRef(null);\r\n const [tableLoad, setTableLoad] = useState(false);\r\n const [refTableDialogVisible, setRefTableDialogVisible] =\r\n useState(false);\r\n const [refTableLoading, setRefTableLoading] = useState(false);\r\n const [refDocOptions, setRefDocOptions] = useState([]);\r\n const [selectedData, setSelectedData] = useState([]);\r\n const [refTableColumn, setRefTableColumn] = useState([]);\r\n const [tableFooter, setTableFooter] = useState(\r\n layout.template.attribute?.footerTable?.rows || []\r\n );\r\n const [exportFile, setExportFile] = useState([]);\r\n const [loadFile, setLoadFile] = useState(false);\r\n useEffect(() => {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n fetchRefDocFormTable();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSummary(tableSummary);\r\n }, [tableSummary]);\r\n\r\n const handleDelete = (key: React.Key) => {\r\n const newData = _data.filter((item: any) => item.key !== key);\r\n if (newData.length === 0) {\r\n summaryFunc();\r\n }\r\n // onChange({ row: [...returnToValue(newData)] });\r\n onChange({ ...layout, data: { row: returnToValue(newData) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const menu = useRef([]);\r\n\r\n function createRowCopy(key: number) {\r\n let newData: any = {\r\n key: key,\r\n };\r\n const cols = layout.template.attribute.column;\r\n\r\n cols.map((col: any, i: any) => {\r\n let type = col.control.template.type;\r\n if (type == \"cb\") {\r\n newData[col.label] = \"\";\r\n } else if (type == \"t\" || type == \"ta\" || type == \"c\") {\r\n newData[col.label] = col.control.template.attribute.default\r\n ? col.control.template.attribute.default\r\n : null;\r\n if (newData[col.label]) {\r\n newData[col.label] = newData[col.label].replace(\r\n /\\[.+\\]/gi,\r\n (x: any) => {\r\n let fmt = x.replace(\"[\", \"\").replace(\"]\", \"\");\r\n return moment().format(fmt);\r\n }\r\n );\r\n }\r\n } else if (type == \"dd\") {\r\n let items = col.control.template.attribute.items;\r\n newData[col.label] = items[0].item;\r\n } else {\r\n newData[col.label] = null;\r\n }\r\n });\r\n\r\n return newData;\r\n }\r\n\r\n const handleAdd = () => {\r\n let newData: any = createRowCopy(_data.length);\r\n\r\n let eiei = [..._data, newData];\r\n\r\n onChange({ ...layout, data: { row: returnToValue(eiei) } });\r\n };\r\n\r\n const handleAddMultiRow = (newRows: any[]) => {\r\n let newData: any = newRows;\r\n let rows: any[] = [..._data];\r\n newData.map((e: any) => {\r\n rows.push(e);\r\n });\r\n rows.map((e: any, idx: number) => {\r\n e.key = idx;\r\n });\r\n console.log(\"row\", rows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n };\r\n\r\n const returnToValue = (_data: any) => {\r\n let newJa: any = [];\r\n for (let i = 0; i < _data.length; i++) {\r\n const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < layout.template.attribute.column.length; j++) {\r\n const column = layout.template.attribute.column[j];\r\n gogo.push({ value: _eiei[column.label] });\r\n }\r\n newJa.push(gogo);\r\n }\r\n\r\n return newJa;\r\n };\r\n\r\n const calCulateFunc = (row: any) => {\r\n try {\r\n if (layout.template.formula !== \"\") {\r\n const formulas = layout.template.formula.split(\"|\");\r\n const columns = layout.template.attribute.column;\r\n\r\n formulas.map((formula: string) => {\r\n let resulstField = formula.split(\"=\");\r\n let formu: string = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number = 0;\r\n if (formu.startsWith(\"Min\") || formu.startsWith(\"Max\")) {\r\n const operator = formu.startsWith(\"Max\") ? \"Max\" : \"Min\";\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.indexOf(\")\"))\r\n .split(\",\");\r\n\r\n fields.forEach((field) => {\r\n columns.forEach((col: any, colIdx: any) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n );\r\n if (!Number.isNaN(value))\r\n if (\r\n result === 0 ||\r\n (operator === \"Max\" && value > result) ||\r\n (operator === \"Min\" && value < result)\r\n ) {\r\n result = value;\r\n }\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n } else {\r\n const allField = formu.match(/[^+\\-\\*\\/=()\\[\\]{}]+/g) || [];\r\n\r\n allField.forEach((field: string) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n ).toFixed(decimal);\r\n formu = formu.replace(\r\n col.label,\r\n value !== \"NaN\" ? value : Number(0).toFixed(decimal)\r\n );\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n\r\n let dd = formu.replaceAll(\",\", \"\");\r\n result = eval(dd);\r\n }\r\n\r\n row[resulstField[1]] = result?.toFixed(resultDecimal);\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n };\r\n\r\n const summaryFunc = () => {\r\n try {\r\n if (tableSummary) {\r\n const cols = layout.template.attribute.column;\r\n const _tableSummary = JSON.stringify(tableSummary);\r\n let _sum = JSON.parse(_tableSummary);\r\n cols.map((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n _sum[e.label] = 0;\r\n }\r\n });\r\n\r\n _data.forEach((e: any) => {\r\n cols.map((col: any, colidx: number) => {\r\n if (col.control.template.type === \"c\") {\r\n //ทำไว้เผื่อแก้โครงสร้าง object ที่ผิดรูป\r\n if (!e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n }\r\n\r\n if (e[col.control.template.label]) {\r\n if (e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n if (\r\n !Number.isNaN(\r\n Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n )\r\n )\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n );\r\n } else if (\r\n !Number.isNaN(Number(e[col.control.template.label]))\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n calCulateTableFooter();\r\n updateTableSummaries(layout.template, _sum);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>error\", error);\r\n }\r\n };\r\n\r\n useEffect(() => summaryFunc(), [_data]);\r\n\r\n const handleSave = (row: any, responseControlChange?: any) => {\r\n const newData = [..._data];\r\n const index = newData.findIndex((item) => row.key === item.key);\r\n\r\n calCulateFunc(row);\r\n\r\n const item = newData[index];\r\n newData.splice(index, 1, {\r\n ...item,\r\n ...row,\r\n });\r\n let res = layout;\r\n if (responseControlChange && responseControlChange.type === \"control\") {\r\n console.log(\"new render\");\r\n for (let i = 0; i < responseControlChange.value.length; i++) {\r\n const items = responseControlChange.value[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const _layout = items.layout[j];\r\n if (_layout.template.label === layout.template.label) {\r\n res = _layout;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // console.log(\"table=>responseControlChange\", responseControlChange);\r\n\r\n // if (responseControlChange.type === \"table_dd_to_dd\") {\r\n // res = responseControlChange.value;\r\n // }\r\n onChange({ ...res, data: { row: returnToValue(newData) } });\r\n };\r\n\r\n const defColumns: any[] = _columns.map((_col: any, idx: any) => {\r\n return {\r\n ..._col,\r\n };\r\n });\r\n\r\n if (canEditDoc) {\r\n defColumns.push({\r\n title: (\r\n {\r\n setButtonType(\"\");\r\n try {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n setRefTableDialogVisible(true);\r\n } else {\r\n handleAdd();\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }}\r\n >\r\n ),\r\n className: \"action-column\",\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"right\",\r\n width: 50,\r\n render: (_: any, record: { key: number }) => (\r\n
{actionBodyTemplate(record.key)}
\r\n ),\r\n onCell: (record: any, rowIndex: number) => {\r\n return {\r\n onClick: (e: any) => {\r\n menu?.current[record?.key]?.toggle(e);\r\n },\r\n };\r\n },\r\n });\r\n }\r\n\r\n const addRowTo = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const duplicate = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n layout.template.attribute.column.forEach((_col: any) => {\r\n newData[_col.label] = rows[key][_col.label];\r\n });\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n console.log(\"table=>rows\", returnToValue(rows));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const moveTo = (key: number) => {\r\n try {\r\n if (moveFormIndex !== -1) {\r\n let dd = JSON.stringify(_data);\r\n let rows: any[] = JSON.parse(dd);\r\n let updateRow = rows.splice(moveFormIndex, 1)[0];\r\n rows.splice(key, 0, updateRow);\r\n setMoveFormIndex(-1);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (key: number) => {\r\n const items = [\r\n {\r\n label: \"Create new item\",\r\n icon: \"pi pi-fw pi-plus\",\r\n items: [\r\n {\r\n label: \"Create new item above\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key);\r\n },\r\n },\r\n {\r\n label: \"Create new item below\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key + 1);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Move to\",\r\n icon: \"pi pi-fw pi-sort-alt\",\r\n command: () => {\r\n setMoveFormIndex(key);\r\n setMoveToDialogVisible(true);\r\n },\r\n },\r\n {\r\n label: \"Duplicate\",\r\n icon: \"pi pi-fw pi-copy\",\r\n command: () => {\r\n setTableLoad(true);\r\n duplicate(key);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-fw pi-trash\",\r\n command: () => {\r\n setTableLoad(true);\r\n handleDelete(key);\r\n },\r\n },\r\n ];\r\n return (\r\n \r\n {\r\n menu.current[key] = el;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const columns = defColumns.map((col: any) => {\r\n if (!col.editable) {\r\n return col;\r\n }\r\n\r\n return {\r\n ...col,\r\n onCell: (record: any) => ({\r\n record,\r\n editable: col.editable,\r\n dataIndex: col.dataIndex,\r\n title: col.title,\r\n handleSave,\r\n template: layout.template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableOptions,\r\n setTableOptions,\r\n }),\r\n };\r\n });\r\n\r\n function renderTableFooter() {\r\n try {\r\n let footers = layout.template.attribute?.footerTable?.rows;\r\n const columns = layout.template.attribute.column;\r\n if (footers) {\r\n console.log(footers);\r\n\r\n // let attribute: any[] = [];\r\n // footers.forEach((row: any) => {\r\n // let formu = row.formula;\r\n // let decimal: number = 0;\r\n // const _row = { ...row };\r\n // const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n // columns.forEach((col: any, colIdx: number) => {\r\n // if (allField.includes(col.label)) {\r\n // decimal = Number(col.control.template.attribute.decimal);\r\n\r\n // formu = formu.replace(\r\n // col.label,\r\n // summary[col.label].toFixed(decimal) !== \"NaN\"\r\n // ? summary[col.label].toFixed(decimal)\r\n // : Number(0).toFixed(decimal)\r\n // );\r\n // }\r\n // });\r\n\r\n // const value = addbits(formu)?.toLocaleString(undefined, {\r\n // minimumFractionDigits: decimal,\r\n // });\r\n // _row.result = value;\r\n // // _row.formula = formu;\r\n // attribute.push(_row);\r\n // });\r\n\r\n // attribute.map((footer: any) => {\r\n // const footerTable = footer.formula.match(/[/[ก-๙A-Za-z.()]/g) || [];\r\n // if (footerTable.length > 0) {\r\n // let formula = footer.formula;\r\n // const allField = formula.match(/[^+\\-\\*\\/=]+/g) || [];\r\n // attribute.map((attributefooter: any) => {\r\n // let decimal: number = 5;\r\n\r\n // if (allField.includes(attributefooter.label)) {\r\n // const _val = attributefooter.result.replace(/,/g, \"\");\r\n // formula = formula.replace(\r\n // attributefooter.label,\r\n // Number(_val).toString() !== \"NaN\"\r\n // ? Number(_val).toString()\r\n // : \"0.00\"\r\n // );\r\n\r\n // const value = addbits(formula)?.toLocaleString(undefined, {\r\n // maximumFractionDigits: 3,\r\n // });\r\n\r\n // footer.result = value;\r\n // }\r\n // });\r\n // }\r\n // });\r\n setTableFooter([...footers]);\r\n // return (\r\n // <>\r\n // \r\n // \r\n // {attribute?.length > 0 &&\r\n // _data.length > 0 &&\r\n // attribute.map((row: any) => {\r\n // try {\r\n // return (\r\n // \r\n // \r\n // {row.label + \" : \"}\r\n // \r\n // \r\n // {\r\n // if (Number(e.target.value)) {\r\n // console.log(row);\r\n // row.value = Number(e.target.value);\r\n // console.log(Number(e.target.value));\r\n // }\r\n // }}\r\n // />\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // );\r\n // } catch (error) {\r\n // console.log(\"table=>error\", error);\r\n // }\r\n // })}\r\n // \r\n // \r\n // \r\n // );\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n const calCulateTableFooter = (changeObj?: any) => {\r\n try {\r\n const columns = layout.template.attribute.column;\r\n let decimal: number = 2;\r\n\r\n setTableFooter([\r\n ...tableFooter.map((footer: any) => {\r\n let formu = footer?.formula;\r\n\r\n const allField = formu.match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n if (changeObj && changeObj.label === footer.label) {\r\n footer.value = changeObj?.value;\r\n }\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (allField.includes(col.label)) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replace(\r\n col.label,\r\n summary[col.label].toFixed(decimal) !== \"NaN\"\r\n ? summary[col.label].toFixed(decimal)\r\n : Number(0).toFixed(decimal)\r\n );\r\n } else if (allField.includes(\"value\")) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replaceAll(\r\n \"value\",\r\n footer?.value?.toFixed(decimal)\r\n );\r\n }\r\n });\r\n const validate: any[] =\r\n formu.match(/[\\u0E00-\\u0E7FA-Za-z]+|\\([^)]+\\)+/g) || [];\r\n\r\n if (validate.length > 0) {\r\n tableFooter.map((e: any) => {\r\n if (formu.indexOf(e.label) !== -1) {\r\n formu = formu.replace(\r\n e.label,\r\n Number(e?.result.replaceAll(\",\", \"\"))\r\n );\r\n }\r\n });\r\n }\r\n\r\n if (footer?.formula.includes(\"value\")) {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n\r\n footer.result = value;\r\n } else {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n footer.result = value;\r\n }\r\n\r\n return footer;\r\n }),\r\n ]);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function addbits(s: any) {\r\n try {\r\n let newForm = s.split(\"=\");\r\n var total = 0;\r\n let result =\r\n newForm[0].match(\r\n /\\((?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[*+/-](?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?\\)/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n total = eval(result.join(\"+\"));\r\n } else {\r\n result =\r\n newForm[0].match(\r\n /(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?[\\,\\ ]?[*+/-][\\,\\ ]?(?:\\d+)((\\d{1,3})*([\\,\\ ]\\d{3})*)(\\.\\d+)?/g\r\n ) || [];\r\n\r\n if (result.length > 0) {\r\n let strFormula = \"\";\r\n\r\n for (let i = 0; i < result.length; i++) {\r\n strFormula = strFormula + result[i];\r\n }\r\n\r\n total = eval(strFormula);\r\n }\r\n }\r\n return total;\r\n } catch (error) {\r\n console.log(\"table=>error: \", error);\r\n }\r\n }\r\n\r\n async function fetchRefDocFormTable() {\r\n let tempAtt = layout.template.attribute;\r\n\r\n if (refDocOptions.length === 0) {\r\n setRefTableLoading(true);\r\n\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: memoDetail.creator.NameEn,\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n const refReportDetail = await GetReportById(tempAtt.refdoc.docReport);\r\n\r\n if (tempAtt.refdoc.docDataSource === \"Template\") {\r\n let refColumn: any[] = [];\r\n let refOptions: any[] = [];\r\n refDetails.forEach((e: any) => {\r\n let _option: any = {};\r\n let advanceForm = JSON.parse(e.MAdvancveForm);\r\n advanceForm.items.map((a: any) => {\r\n a.layout.map((l: any) => {\r\n const target = tempAtt.mergecolumnrefdoc.find(\r\n (col: any) =>\r\n col.RefDocLabel.split(\"_\")[1] === l.template.label\r\n );\r\n if (target) {\r\n _option[target.RefDocLabel] = l.data.value;\r\n _option[l.template.label] = l.data.value;\r\n }\r\n tempAtt.mergecolumnrefdoc.map((a: any) => {\r\n if (a.RefDocLabel === \"DocumentNo\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"DocumentAmount\") {\r\n _option[a.RefDocLabel] = e.Amount;\r\n _option[a.RefDocLabel] = e.Amount;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"CreatorEmployeePosition\") {\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDivision\") {\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDepartment\") {\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"RequestorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n } else if (a.RefDocLabel === \"RequestorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeePosition\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeDivision\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n }\r\n } else if (\r\n a.RefDocLabel === \"RequestorEmployeeDepartment\"\r\n ) {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"InformationDocumentStatus\") {\r\n _option[a.RefDocLabel] = e.StatusName;\r\n _option[a.RefDocLabel] = e.StatusName;\r\n } else if (a.RefDocLabel === \"InformationFormName\") {\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n } else if (a.RefDocLabel === \"InformationRequestDate\") {\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n } else if (a.RefDocLabel === \"InformationCompany\") {\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n } else if (a.RefDocLabel === \"InformationBranch\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"InformationSubject\") {\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n } else if (a.RefDocLabel === \"InformationProject\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n }\r\n });\r\n });\r\n });\r\n refOptions.push(_option);\r\n });\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefDocOptions([...refOptions]);\r\n setRefTableColumn([...refColumn]);\r\n } else if (tempAtt.refdoc.docDataSource === \"Report\") {\r\n if (refReportDetail?.dt_Report?.length > 0) {\r\n let refColumn: any[] = [];\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefTableColumn([...refColumn]);\r\n\r\n setRefDocOptions([...refReportDetail.dt_Report]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n setRefTableLoading(false);\r\n }\r\n\r\n const onImportExcel = async (dataJson: any) => {\r\n const response = await fetch(\"api/Excel/ImportData\", {\r\n method: \"POST\",\r\n body: dataJson,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return response;\r\n };\r\n\r\n const onExportExcel = async (dataJson: any) => {\r\n try {\r\n console.log(dataJson);\r\n\r\n const fileName = \"export.xlsx\";\r\n const response = await fetch(\"api/Excel/ExportData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\", // Ensure correct content type\r\n },\r\n body: JSON.stringify({\r\n mAdvance: dataJson,\r\n }),\r\n })\r\n .then((response) => response.blob())\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(new Blob([blob]));\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n })\r\n .catch((error) => console.error(\"Download failed:\", error));\r\n } catch (error) {\r\n console.error(\"Error:\", error);\r\n }\r\n };\r\n\r\n const handleFileUpload = async (file: any) => {\r\n try {\r\n const uploadFile = new FormData();\r\n uploadFile.append(\"file\", file);\r\n const respone = await onImportExcel(uploadFile);\r\n if (respone) {\r\n putExcelToTable(respone);\r\n setExportFile(respone);\r\n }\r\n } catch (error: any) {\r\n console.error(error.message);\r\n }\r\n };\r\n\r\n const putExcelToTable = (resultData: any[]) => {\r\n const result = resultData.slice(1, resultData.length);\r\n\r\n let newRows = resultData.slice(1, resultData.length);\r\n confirm({\r\n title: \"Preview data\",\r\n icon: \"\",\r\n className: \"csv-confirm-modal\",\r\n content: (\r\n {\r\n if (e) {\r\n newRows = result.slice(1, newRows.length);\r\n } else {\r\n newRows = result;\r\n }\r\n }}\r\n />\r\n ),\r\n width: \"80%\",\r\n okButtonProps: {\r\n icon: ,\r\n className: \"confirm-btn ok\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onOk() {\r\n // handleAddMultiRow(newRows);\r\n\r\n onChange({ ...layout, data: { row: returnToValue(newRows) } });\r\n },\r\n cancelButtonProps: {\r\n icon: ,\r\n type: \"ghost\",\r\n className: \"cancel\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onCancel() {\r\n console.log(\"Cancel\");\r\n },\r\n });\r\n };\r\n\r\n const getTable = () => {\r\n try {\r\n if (typeof memoDetail.template_desc !== \"string\") {\r\n const table = memoDetail.template_desc?.items[rowIdx].layout[colIdx];\r\n\r\n if (table) {\r\n let addRowValue: any = [];\r\n for (let i = 0; i < _data.length; i++) {\r\n const _eiei = _data[i];\r\n let gogo = [];\r\n for (let j = 0; j < layout.template.attribute.column.length; j++) {\r\n const column = layout.template.attribute.column[j];\r\n gogo.push({ value: _eiei[column.label] });\r\n }\r\n addRowValue.push(gogo);\r\n }\r\n table.data.row = addRowValue;\r\n if (table.data.row) {\r\n onExportExcel(JSON.stringify(table));\r\n }\r\n }\r\n // memoDetail.template_desc?.items?.map((items: any) => {\r\n // items.layout.map((layout: any) => {\r\n // if (layout.template.type === \"tb\" ) {\r\n // const table = layout;\r\n // let addRowValue: any = [];\r\n // for (let i = 0; i < _data.length; i++) {\r\n // const _eiei = _data[i];\r\n // let gogo = [];\r\n // for (\r\n // let j = 0;\r\n // j < layout.template.attribute.column.length;\r\n // j++\r\n // ) {\r\n // const column = layout.template.attribute.column[j];\r\n // gogo.push({ value: _eiei[column.label] });\r\n // }\r\n // addRowValue.push(gogo);\r\n // }\r\n // table.data.row = addRowValue;\r\n // if (table.data.row) {\r\n // onExportExcel(JSON.stringify(table));\r\n // }\r\n // }\r\n // });\r\n // });\r\n }\r\n } catch (error) {\r\n console.error(\"error=>excelTable\", error);\r\n }\r\n };\r\n\r\n // beforeUpload={(file) => {\r\n // handleFileUpload(file);\r\n // return false; // Prevent automatic file upload\r\n // }}\r\n\r\n const menuClickHandler = (key: string) => {\r\n if (key === \"import\") {\r\n // Trigger file input click when Import is clicked\r\n const input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.accept = \".xlsx\";\r\n input.onchange = (e: any) => {\r\n const file = e?.target?.files[0];\r\n if (file) {\r\n handleFileUpload(file);\r\n }\r\n };\r\n input.click();\r\n } else if (key === \"export\") {\r\n getTable();\r\n }\r\n };\r\n const menuItem = (\r\n {\r\n menuClickHandler(info.key);\r\n }}\r\n >\r\n }>\r\n
Import
\r\n
\r\n\r\n }>\r\n Export\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n e.preventDefault()}\r\n style={{\r\n height: \"38px\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 11px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n \r\n )\r\n }\r\n />\r\n {/* {layout.template.type === \"tb\" && layout.template.canImport === \"Y\" && (\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n \r\n )} */}\r\n
\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n ) => {\r\n return (\r\n \r\n );\r\n },\r\n row: EditableRow,\r\n },\r\n }\r\n : {}\r\n }\r\n dataSource={_data}\r\n loading={tableLoad}\r\n columns={columns as ColumnTypes}\r\n rowClassName={() => \"editable-row\"}\r\n bordered\r\n id=\"table-control\"\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n footer={\r\n () => {\r\n const haveInput = tableFooter?.find((e: any) => e.useValue);\r\n console.log(haveInput);\r\n\r\n return tableFooter.map((footer: any) => {\r\n return (\r\n \r\n );\r\n });\r\n }\r\n // () => {\r\n // return (\r\n // <>\r\n // \r\n // \r\n // {tableFooter?.length > 0 &&\r\n // _data.length > 0 &&\r\n // tableFooter.map((row: any) => {\r\n // try {\r\n // return (\r\n // \r\n // \r\n // {row.label + \" : \"}\r\n // \r\n // \r\n // e.label === row.label\r\n // ).value\r\n // }\r\n // onBlur={(e) => {\r\n // if (Number(e.target.value)) {\r\n // console.log(Number(e.target.value));\r\n // if (tableFooter.length > 0) {\r\n // console.log(\r\n // tableFooter.map((e: any) => {\r\n // if (e.label === row.label) {\r\n // e.value = Number(e.target.value);\r\n // }\r\n // return e;\r\n // })\r\n // );\r\n\r\n // setTableFooter(\r\n // tableFooter.map((e: any) => {\r\n // if (e.label === row.label) {\r\n // e.value = Number(e.target.value);\r\n // }\r\n // return e;\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 // } catch (error) {\r\n // console.log(\"table=>error\", error);\r\n // }\r\n // })}\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n }\r\n summary={(pageData: any) => {\r\n try {\r\n const cols = layout?.template?.attribute?.column;\r\n let isShowSum = false;\r\n cols.forEach((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary === \"Y\") {\r\n isShowSum = true;\r\n return;\r\n }\r\n });\r\n if (isShowSum && _data.length > 0 && summary) {\r\n return (\r\n \r\n \r\n \r\n Total\r\n \r\n {cols.map((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary !== \"Y\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {!isNaN(\r\n Number(summary[col.control.template.label])\r\n )\r\n ? Number(\r\n Number(\r\n summary[col.control.template.label]\r\n )\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n col.control.template.attribute.decimal\r\n ),\r\n })\r\n : \"0.00\"}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"table=>sum=>\", error);\r\n }\r\n }}\r\n />\r\n\r\n \r\n\r\n {\r\n try {\r\n if (_selectedData?.length > 0) {\r\n let newRows: any[] = [];\r\n _selectedData?.map((e: any, idx: number) => {\r\n let newRow = createRowCopy(idx);\r\n layout.template.attribute.mergecolumnrefdoc.forEach(\r\n (col: any) => {\r\n newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n }\r\n );\r\n newRows.push(newRow);\r\n });\r\n handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n setRefTableDialogVisible(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>ref=>\", error);\r\n }\r\n }}\r\n // customFooter={() => {\r\n // return (\r\n // {\r\n // try {\r\n // if (selectedData?.length > 0) {\r\n // let newRows: any[] = [];\r\n // selectedData?.map((e: any, idx: number) => {\r\n // let newRow = createRowCopy(idx);\r\n // layout.template.attribute.mergecolumnrefdoc.forEach(\r\n // (col: any) => {\r\n // newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n // }\r\n // );\r\n // newRows.push(newRow);\r\n // });\r\n // handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n // setRefTableDialogVisible(false);\r\n // }\r\n // } catch (error) {\r\n // console.log(\"table=>ref=>\", error);\r\n // }\r\n // }}\r\n // style={{\r\n // height: \"38px\",\r\n // background: \" #28a745\",\r\n // border: \"1px solid #28a745\",\r\n // color: \"#ffffff\",\r\n // fontSize: \"13px\",\r\n // borderRadius: \"6px\",\r\n // margin: \" 0px 11px 0px 0px\",\r\n // }}\r\n // />\r\n // );\r\n // }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(TableComponent);\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n header: string;\r\n dataLength: number;\r\n isVisible: boolean;\r\n setIsVisible: (isVisible: boolean) => void;\r\n moveFunc: (key: number) => void;\r\n setLoading: (load: boolean) => void;\r\n};\r\n\r\nconst MoveToDialog = ({\r\n header,\r\n dataLength,\r\n isVisible,\r\n setLoading,\r\n setIsVisible,\r\n moveFunc,\r\n}: Props) => {\r\n const [moveValue, setMoveValue] = useState(1);\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setIsVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n {\r\n setLoading(true);\r\n moveFunc(moveValue - 1);\r\n setIsVisible(false);\r\n }}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n {\r\n setIsVisible(false);\r\n setMoveValue(1);\r\n }}\r\n footer={renderFooter}\r\n className=\"information-dialog\"\r\n draggable={false}\r\n closable={false}\r\n resizable={false}\r\n blockScroll\r\n >\r\n \r\n {\r\n if (e?.value <= dataLength) {\r\n setMoveValue(e?.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MoveToDialog;\r\n","import { Input, InputNumber } from \"antd\";\r\nimport React, { useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ntype Props = {\r\n footerAtt: any;\r\n onChange: (changeObj?: any) => void;\r\n haveInput: boolean;\r\n};\r\n\r\nconst TableFooter = ({ footerAtt, onChange, haveInput }: Props) => {\r\n const [inputValue, setInputValue] = useState(footerAtt.value);\r\n console.log(haveInput);\r\n\r\n return (\r\n
\r\n \r\n \r\n {footerAtt.label + \" : \"}\r\n \r\n {footerAtt.useValue ? (\r\n <>\r\n {\" \"}\r\n \r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n parser={(value) => value!.replace(/\\$\\s?|(,*)/g, \"\")}\r\n onChange={(e) => {\r\n setInputValue(e);\r\n }}\r\n onBlur={(e) => {\r\n if (Number(e.target.value)) {\r\n console.log(footerAtt);\r\n\r\n let dup = { ...footerAtt };\r\n dup.value = Number(e.target.value);\r\n onChange(dup);\r\n }\r\n }}\r\n controls={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableFooter;\r\n","import { Checkbox, Table } from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n newRows: any[];\r\n columns: any[];\r\n onCheckedHeader: (checked: boolean) => void;\r\n};\r\n\r\nconst ExcelTablePreview = ({ newRows, columns, onCheckedHeader }: Props) => {\r\n const [sourceData, setsourceData] = useState(newRows);\r\n\r\n const [displayData, setDisplayData] = useState(newRows);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [current, setCurrent] = useState(1);\r\n console.log(\"newRows\", newRows);\r\n console.log(\"newRows=>columns\", columns);\r\n return (\r\n <>\r\n e.key !== \"operation\")}\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n pagination={{\r\n pageSize: pageSize,\r\n onShowSizeChange: (current, size) => {\r\n setPageSize(size);\r\n },\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ExcelTablePreview;\r\n","export const GetApprovalsByMemoIDs = async (memoIds: number[]) => {\r\n const respone = await fetch(\"api/LineApprove/GetByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ memoIds: memoIds }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const AutoNumber: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n console.log(\"rvs=>\" + template.label, field.value);\r\n console.log({ canEditDoc });\r\n\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={template.label.replaceAll(\" \", \"_\")}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ButtonComponent.css\";\r\nimport { useHistory } from \"react-router\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n documentNo: any;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n}\r\nexport default function ButtonComponent(props: Props) {\r\n const [url, setUrl] = useState(\"\");\r\n const history = useHistory();\r\n const [doc_no, setDoc_no] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.template.URL) {\r\n let newUrl: string = props.template.URL;\r\n newUrl = newUrl.replace(\"TP\", \"template\");\r\n if (newUrl.indexOf(\"/Memo?\") !== -1) {\r\n newUrl = newUrl.replace(\"/Memo?\", \"MemoID=0&\");\r\n }\r\n if (newUrl.startsWith(\"http\")) {\r\n newUrl = newUrl;\r\n } else if (!newUrl.startsWith(\"?\")) {\r\n newUrl = \"?\" + newUrl;\r\n }\r\n setUrl(newUrl);\r\n }\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // const document_no = props.documentNo;\r\n\r\n // setDoc_no(document_no);\r\n // }, [props.requestDetail]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {\r\n const temp = props.template;\r\n let str = \"\";\r\n if (props.documentNo !== \"Auto Generate\") {\r\n let param = \"\";\r\n let val = \"\";\r\n temp.attribute.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (_layout.control.label === \"Document No\") {\r\n val = props.documentNo;\r\n }\r\n param = _layout.paramiter.value;\r\n });\r\n });\r\n str = \"&\" + param + \"=\" + val;\r\n if (!url.startsWith(\"https\")){\r\n window.open(`/Request${url + str}`, \"_blank\", \"noreferrer\");\r\n } else{\r\n window.open(`${url}`, \"_blank\",\"noreferrer\");\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"กรุณาบันทึกก่อนดำเนินการ\",\r\n header: \"Alert\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n }\r\n // console.log(`button=>/Request${url + str}`);\r\n }}\r\n />\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// // import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { log } from \"console\";\r\nimport { GetPort } from \"../../../Services/AttachFileService\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n colText: any;\r\n col?: any;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: any;\r\n canEditDoc: boolean;\r\n colAction: any;\r\n edFont?:any\r\n defaultFont?:any\r\n}\r\n\r\nexport const EditorComponent = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [contentEditor, setContentEditor] = useState(\r\n !props.data.value ? initialValues : props.data\r\n );\r\n \r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n let _tinyURL = _userData.TinyURL;\r\n\r\n async function defaultValue() {\r\n if (props.data.value) {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n } else {\r\n props.data.value = \"\";\r\n }\r\n }\r\n const handleEditorChange = (content: any, editor: any, onChange: any) => {\r\n onChange(content);\r\n function convertHtml(_comment: any) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n {\r\n const _value =\r\n value?.replace(/\\{/g, \"<\").replace(/\\}/g, \">\").replace(/\\'/g, \"\") ||\r\n \"\";\r\n\r\n\r\n return (\r\n <>\r\n \r\n {props.template.attribute.readonly === \"Y\" ? (\r\n
\r\n ) : (\r\n {\r\n handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }}\r\n name={props.name}\r\n rules={{\r\n required:\r\n props.template.attribute.require !== \"\" &&\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n control={props.control}\r\n />\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ninterface Props {\r\n key: any;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n}\r\n\r\nexport const EmptyComponent = (props: Props) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport \"./ImageComponent.css\";\r\nimport { Image } from \"antd\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { Controller } from \"react-hook-form\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n renderInTable?: string;\r\n colText?: number;\r\n colAction?: number;\r\n errorValid?: string;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: string;\r\n canEditDoc: boolean;\r\n}\r\n\r\nexport default function ImageComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = userData.SharepointSiteURL;\r\n let port = location.host === \"localhost:5001\" ? undefined : location.port;\r\n let _TinyURL =\r\n port !== undefined || \"\" ? userData.TinyURL + \":\" + port : userData.TinyURL;\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [valueState, setValueState] = useState(\r\n props.data.value == null || undefined ? initialValues : props.data\r\n );\r\n const [fileType, setFileType] = useState(\"\");\r\n useEffect(() => {\r\n deFaultValue();\r\n }, []);\r\n\r\n const deFaultValue = async () => {\r\n if (props.template.fileType) {\r\n const myArray = props.template.fileType.split(\"*\");\r\n let mapData: any = [];\r\n for (let index = 1; index < myArray.length; index++) {\r\n myArray[index] = \".\" + myArray[index];\r\n mapData.push(myArray[index]);\r\n }\r\n setFileType(mapData.toString());\r\n }\r\n let _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n };\r\n async function onFileSelect(e: any, onChange: any) {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n var hasInvalidFiles = false;\r\n if (props.template?.fileType) {\r\n const myArray = props.template?.fileType.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n if (files.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `Unsupported file selected.`,\r\n // life: 3000,\r\n // });\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n e.target.value = null;\r\n return;\r\n }\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n console.log(\"im=>response\", { response });\r\n\r\n // setValueState((prevState: any) => ({\r\n // ...prevState,\r\n // value: response.data.pathUrl,\r\n // }));\r\n console.log(\"im=>\", replaceSpecialChar(response.data.pathUrl));\r\n onChange(replaceSpecialChar(response.data.pathUrl));\r\n // props.onChangeEditForm(\r\n // {\r\n // value: response.data.pathUrl,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n {\r\n console.log({ value });\r\n\r\n return (\r\n <>\r\n {\r\n console.log(\r\n `${_sharepointSiteURL}${value}`,\r\n \"ffffffffffffffff\"\r\n );\r\n console.log(\r\n `https://${userData.TinyURL}${value}`,\r\n \"ffffffffffffffff2\"\r\n );\r\n }}\r\n sm={props.col === undefined ? 12 : undefined}\r\n md={props.col === undefined ? props.colText : undefined}\r\n xs={props.col === undefined ? 12 : undefined}\r\n xl={props.col === undefined ? props.colText : undefined}\r\n className={\r\n props.renderInTable === undefined ? \"padding-controller\" : \"\"\r\n }\r\n >\r\n {props.renderInTable != \"renderInTable\" && (\r\n \r\n \r\n
\r\n \r\n {props.template.label}\r\n \r\n {props.template.attribute.require === \"Y\" && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n

{props.template.alter}

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {value ? (\r\n \r\n
\r\n \r\n
\r\n {props.template.attribute?.readonly === \"N\" && (\r\n
\r\n {\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n onChange(null);\r\n // props.onChangeEditForm(\r\n // {\r\n // value: null,\r\n // },\r\n // props.rowIdx,\r\n // props.colIdx\r\n // );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n <>\r\n {props.template.attribute?.readonly === \"N\" && (\r\n {\r\n console.log(fileType, \"fileType\");\r\n }}\r\n disabled={\r\n !props.canEditDoc ||\r\n props.template.attribute.readonly === \"Y\"\r\n }\r\n type=\"file\"\r\n onChange={(e: any) => {\r\n onFileSelect(e, onChange);\r\n }}\r\n // accept={fileType}\r\n className={`set-input-component-css form-control`}\r\n />\r\n )}\r\n \r\n File Formats Accepted {props.template?.fileType}\r\n \r\n \r\n )}\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[props.rowIdx] &&\r\n errors?.items[props.rowIdx].layout[props.colIdx] && (\r\n \r\n {props.template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n rules={{\r\n required:\r\n props.template.attribute.require === \"Y\" &&\r\n props.buttonType !== \"draft\" &&\r\n props.buttonType !== \"cancel\"\r\n ? true\r\n : false,\r\n }}\r\n name={props.name}\r\n control={props.control}\r\n // valueName={\"value\"}\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\n// import { SelectCheckboxComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { CheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport CheckboxDropdownComponent from \"./CheckboxDropdownComponent/CheckboxDropdownComponent\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n}\r\nexport default function MainCheckboxComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.attribute.display === \"dd\" && (\r\n \r\n )}\r\n {props.template.attribute.display !== \"dd\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./HeadingComponent.css\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n
\r\n

\r\n

{props.template.label}
\r\n
\r\n {props.template.alter != \"\" ? `${props.template.alter}` : \"\"}\r\n
\r\n

\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext == \"Y\" ? (\r\n \r\n \r\n {props.template.textvalue}\r\n \r\n \r\n ) : (\r\n
{props.template.textvalue}
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport HeadingComponent from \"./HeadingComponent/HeadingComponent\";\r\nimport TextComponent from \"./TextComponent/TextComponent\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function MainTextComponents(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext === \"N\" && (\r\n \r\n )}\r\n {props.template.istext === \"Y\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller, useFieldArray } from \"react-hook-form\";\r\nimport {\r\n TemplateDescContext,\r\n TemplateDescContextProvider,\r\n} from \"../../../Context/TemplateDescContext\";\r\nimport { formatColumn } from \"../../../Helper/formatColumn\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { AttachmentControlComponent } from \"../../AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { AutoNumber } from \"../../AntdControlComponent/AutoNumberFix/AutoNumberFix\";\r\nimport { DatePickerControlComponent } from \"../../AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputControlComponent } from \"../../AntdControlComponent/InputControlComponent/InputControlComponent\";\r\nimport { InputNumberControlComponent } from \"../../AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { RadioControlComponent } from \"../../AntdControlComponent/RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownControlComponent } from \"../../AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport TableComponent, {\r\n tableSelectOption,\r\n} from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { InputTextAreaControlComponent } from \"../../AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionNumberComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\n\r\nimport $ from \"jquery\";\r\n\r\ntype Props = {\r\n nestIndex: number;\r\n control: any;\r\n register: any;\r\n documentNo: any;\r\n controlRef: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n calCulateCorecontrol: any;\r\n isControlLoading: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableSummaries?: any[];\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n buttonType: string;\r\n autoNumFormat: IAutoNumberAttibute;\r\n onSubmit: any;\r\n memoDetail: IMemoDetailModel;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n edFont?: any;\r\n defaultFont?: any;\r\n};\r\n\r\nconst Controls: FC = ({\r\n control,\r\n nestIndex,\r\n register,\r\n documentNo,\r\n controlRef,\r\n onControlChange,\r\n controlUpdate,\r\n autoNumFormat,\r\n isControlLoading,\r\n calCulateCorecontrol,\r\n memoDetail,\r\n onSubmit,\r\n canEditDoc,\r\n checkActionPage,\r\n tableSummaries,\r\n updateTableSummaries,\r\n buttonType,\r\n setButtonType,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const { fields, remove, append, update } = useFieldArray({\r\n control,\r\n name: `items[${nestIndex}].layout`,\r\n });\r\n\r\n return (\r\n <>\r\n {/* */}\r\n {fields.map((layout: any, layoutIdx: number) => {\r\n // const layouts = fieldslayout;\r\n // console.log({ nestIndex, layoutIdx });\r\n const layoutLength = fields.length;\r\n const grid_size = 12 / layoutLength;\r\n let _colText = 0;\r\n let _colAction = 0;\r\n if (layoutLength == 1) {\r\n _colText =\r\n layout.template.type === \"tb\" || layout.template.type === \"ed\"\r\n ? 11\r\n : 2;\r\n _colAction = layout.template.type === \"ed\" ? 12 : 10;\r\n } else if (layoutLength == 2) {\r\n _colText = 2;\r\n _colAction = 4;\r\n }\r\n let _isCanEdit = canEditDoc;\r\n console.log(\"autoNumFormat=>\", autoNumFormat?.formats);\r\n console.log(\"layouttemplate=>\", layout.template.label);\r\n console.log(\"template=>\", layout.template);\r\n if (memoDetail.status !== \"New Request\") {\r\n autoNumFormat?.formats?.forEach((e) =>\r\n e.format.find((l) => {\r\n if (l.label === layout.template.label) _isCanEdit = false;\r\n })\r\n );\r\n }\r\n // if (findInAutoFormat) {\r\n // console.log(\"colAct=>\",findInAutoFormat);\r\n // if (memoDetail.status !== \"New Request\" && memoDetail.status === \"Draft\") {\r\n // canEditDoc = false;\r\n // // canEditDoc = true;\r\n // }\r\n // }\r\n if (layout.template.type === \"l\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ed\" && layout.isShow !== false) {\r\n return (\r\n // \r\n <>\r\n \r\n \r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"c\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ta\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n // }\r\n } else if (layout.template.type === \"dd\" && layout.isShow !== false) {\r\n // incomeplete\r\n // console.log(\"canEditDoc=>\"+layout.label,canEditDoc);\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"cb\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"at\" && layout.isShow !== false) {\r\n return (\r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"t\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"r\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"tb\" && layout.isShow !== false) {\r\n // check all column isShow == false\r\n // if isHideAllColumn == true then hide all table and label but save data to api on submit\r\n const columns = layout.template.attribute.column as Array<{\r\n isShow: boolean | undefined;\r\n }>;\r\n const isHideAllColumn = !columns\r\n .map((o) => (o.isShow == undefined ? true : o.isShow))\r\n .reduce((pre, cur) => pre || cur);\r\n\r\n return (\r\n <>\r\n {/* {!isHideAllColumn && (\r\n \r\n )} */}\r\n \r\n \r\n );\r\n } else if (layout.template.type === \"d\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"bt\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"an\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"rvs\" && layout.isShow !== false) {\r\n // incomplete\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"im\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (\r\n layout.template.type === \"em\" ||\r\n Object.keys(layout.template).length === 0\r\n ) {\r\n console.log({ layout });\r\n\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Controls);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect } from \"react\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport Field from \"../Input/Field\";\r\n\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setClassNameSpanProps?: any;\r\n setStyleDivProps?: any;\r\n setStyleProps?: any;\r\n onChangeProps?: any;\r\n valueProps?: any;\r\n disabledProps?: any;\r\n placeholderProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n readOnlyProps?: any;\r\n setControllerId?: any;\r\n autoFocusProps?: any;\r\n fieldProps?: any;\r\n typeProps?: any;\r\n acceptProps?: any;\r\n keyProps?: any;\r\n onBlurProps?: any;\r\n onFocusProps?: any;\r\n}\r\n\r\nexport const InputTextComponents = (props: Props) => {\r\n return (\r\n
\r\n \r\n {props.setIconProps !== undefined ? props.setIconProps : null}\r\n props.onChangeProps(e.target.value, props.keyProps)}\r\n value={props.valueProps}\r\n \r\n disabled={props.disabledProps}\r\n placeholder={props.placeholderProps}\r\n onClick={props.onClickProps}\r\n readOnly={props.readOnlyProps}\r\n // id={props.setControllerId}\r\n // testing if id shows up in the inspect in the right format\r\n id={replaceSpecialChar(props.valueProps??\"\")}\r\n // value={replaceSpecialChar(props.valueProps??\"\")}\r\n autoFocus={props.autoFocusProps}\r\n type={props.typeProps}\r\n accept={props.acceptProps}\r\n onBlur={props.onBlurProps}\r\n onFocus={props.onFocusProps}\r\n\r\n // onBlur={(e) =>\r\n // props.onBlurProps\r\n // ? props.onBlurProps(e.target.value, props.keyProps)\r\n // : undefined\r\n // }\r\n {...props.fieldProps}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","export const generateQuickGuid = () => {\r\n return (\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15)\r\n );\r\n};\r\n","export const GetButtonMemoByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetButtonMemoByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const ActionMemoPage = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/ActionMemoPage\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\nexport const GetMemoDetailById = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"GetMemoDetail=>err\", err);\r\n });\r\n return respone;\r\n};\r\nexport const GetMemoById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAttachmentFilesByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetAttachmentFilesByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetailOnlyById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoDetailOnlyById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocTemp = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocTemp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetAllMemo = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocFormTable = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocFormTable\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetMemoHistoryDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoHistoryDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const SetCheckAcces = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/SetCheckAccess\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n\r\n return respone;\r\n};\r\nexport const MAdvanceFormByMemoIds = async (memoIds: number[]) => {\r\n const response = await fetch(\"api/Memo/MAdvancveFormByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoIds),\r\n }) \r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n console.log(\"myres\",response);\r\nreturn response;\r\n};\r\n\r\nexport const ValidateDelegate = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DelegateList/ValidateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"ValidateDelegate=>err\", err);\r\n });\r\n return respone;\r\n};\r\n// const formatDateTimeDataReQuest = (value: any) => {\r\n// if (value != \"\") {\r\n// let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n// const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n// return NewDate;\r\n// } else {\r\n// const NewDate = \"\";\r\n// return NewDate;\r\n// }\r\n// };\r\n\r\n// function setdefaultMemoDetail(data: any) {\r\n// let _memo: IMemoDetailModel = data.requestDetails.memoDetail;\r\n// const _listFormName = data.requestDetails.listFormNames[0];\r\n// const newDate = new Date();\r\n// let _dataSetInformation: any = {\r\n// request_date: formatDateTimeDataReQuest(newDate),\r\n// created_date: formatDateTimeDataReQuest(newDate),\r\n// status:\r\n// location.pathname === \"/PreviewTemplate\"\r\n// ? _listFormName.status\r\n// : \"New Request\",\r\n// modified_date: formatDateTimeDataReQuest(newDate),\r\n// modified_by: window.localStorage.getItem(\"employeeId\"),\r\n// created_by: window.localStorage.getItem(\"employeeId\"),\r\n// report_lang: _listFormName.ReportLang,\r\n// auto_approve_when: _listFormName.AutoApproveWhen,\r\n// GroupTemplateName: _listFormName.GroupTemplateName,\r\n// template_id: _listFormName.TemplateId,\r\n// template_name: _listFormName.TemplateName,\r\n// template_code: _listFormName.DocumentCode,\r\n// document_no: \"Auto Generate\",\r\n// template_detail: uuidv4().replace(/-/g, \"\"),\r\n// waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n// waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n// };\r\n// }\r\n","import moment from \"moment\";\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardKeyEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n const resultCard = result.map((_data: any) => {\r\n const [keyConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return resultCard;\r\n};\r\n\r\nexport const GetDashboardEndpoints = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return result;\r\n};\r\n\r\nexport const GetDashboardFilterStatus = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/FilterStatus\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const GetDashboardAdvancedFilter = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/AdvancedFilter\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetDashboardFilterGroupBy = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/FilterGroupBy\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetDashboardStatusCard = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/StatusCard\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const LoginConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/LoginConfiguration\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const getAzureConfig = async () => {\r\n const result = await fetch(\"/api/Configuration/AzureConfig\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardDefaultFilterConFig = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/DefaultFilter\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const ADTitleConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/ADTitle\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getDateDeployConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/getDateDeploy\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getVersion = () : Promise<{apiVersion: string, webVersion: string}>=> fetch(\"/api/Configuration/getVersion\")\r\n .then((response) => response.json())\r\n\r\nexport const getUploadFileSettingConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/UploadFileSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const CannotDowLoadPDFDefaultConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/CannotDowLoadPDFDefault\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport {\r\n AiOutlineReconciliation,\r\n AiOutlineSetting,\r\n AiOutlineUnorderedList,\r\n} from \"react-icons/ai\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { RiTodoLine } from \"react-icons/ri\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\n// import Popover from \"react-bootstrap/Popover\";\r\nimport { Popover } from \"antd\";\r\nimport \"./ButtonNavigation.css\";\r\nimport { log } from \"console\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n data: any[];\r\n setActive: any;\r\n}\r\n\r\nexport const ButtonNavigation: React.FC = ({ data, setActive }) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [sortableMenu, setSortableMenu] = useState([]);\r\n const [toggleState, setToggleState] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n const history = useHistory();\r\n const location = useLocation();\r\n useMemo(() => {\r\n let result = data.reduce(function (r, a) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n let sortableMenu = [];\r\n for (var menu in _res) {\r\n sortableMenu.push([menu, _res[menu]]);\r\n }\r\n\r\n sortableMenu.sort(function (a, b) {\r\n return a[1][0].OrderGroup - b[1][0].OrderGroup;\r\n });\r\n setSortableMenu([...sortableMenu]);\r\n\r\n setMenuButton({ ..._res });\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n console.log(\"toggleArray\", toggleArray);\r\n setToggleState([...toggleArray]);\r\n }, [data]);\r\n useEffect(() => {\r\n console.log(\"nev=>menuButton\", menuButton);\r\n console.log(\"nev=>location\", location);\r\n\r\n console.log(\"nev=>toggleState\", toggleState);\r\n\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname.indexOf(key) !== -1) {\r\n console.log(\"nev=>value\", value[0].OrderGroup);\r\n\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n console.log(\"_data\", _data);\r\n if (\r\n location.pathname === `/${_data.GroupMenu}` ||\r\n location.pathname.indexOf(_data.Url) !== -1\r\n ) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n useEffect(() => {\r\n const _toggleState = toggleState;\r\n if (location.pathname === \"/Request\") {\r\n setActive(true);\r\n }\r\n const res_every = _toggleState.every((b) => b === false);\r\n for (let i = 0; i < _toggleState.length; i++) {\r\n const state = _toggleState[i];\r\n if (state === true) {\r\n setActive(true);\r\n }\r\n }\r\n if (res_every && location.pathname !== \"/Request\") {\r\n setActive(false);\r\n }\r\n }, [toggleState]);\r\n const mapIcon = (key: string) => {\r\n if (key === \"Worklist\") {\r\n return ;\r\n }\r\n if (key === \"Report\") {\r\n return ;\r\n }\r\n if (key === \"Settings\") {\r\n return ;\r\n }\r\n if (key === \"List and Documents\") {\r\n return ;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {sortableMenu.map((menu, _idx) => {\r\n return (\r\n
\r\n {menu[1].length > 0 &&\r\n menu[1].every(\r\n (_data: any) => _data.SubMenu !== null && _data.SubMenu !== \"\"\r\n ) ? (\r\n (\r\n <>\r\n {menu[1]\r\n .sort(\r\n (a: any, b: any) =>\r\n Number(a.OrderSub) - Number(b.OrderSub)\r\n )\r\n .map((e: any, idx: any) => {\r\n const subMenu = replaceSpecialChar(e.SubMenu);\r\n\r\n return (\r\n <>\r\n {e.SubMenu !== \"\" &&\r\n e.SubMenu !== null &&\r\n e.GroupMenu !== \"Settings\" ? (\r\n e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n // history.push(e.Url);\r\n window.open(e.Url);\r\n }}\r\n target=\"_blank\"\r\n >\r\n {t(e.SubMenu)}\r\n \r\n
\r\n )\r\n ) : e.InternalUrl !== 0 ? (\r\n
\r\n \r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n const _url = e.Url;\r\n window.open(_url, \"blank\");\r\n }}\r\n >\r\n {t(e.SubMenu)}\r\n

\r\n
\r\n )}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n trigger=\"hover\"\r\n >\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n \r\n ) : menu[1]?.length < 2 &&\r\n `${menu[1][0]?.Url}` &&\r\n menu[1][0]?.InternalUrl === 0 ? (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n ) : (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n};\r\n","import Cookies from \"universal-cookie\";\r\nconst cookies = new Cookies();\r\nexport type Auth = {\r\n isAuthenticated?: boolean;\r\n redirectPath: string;\r\n};\r\n\r\nexport const initialSession: Auth = {\r\n redirectPath: \"/login\",\r\n isAuthenticated: cookies.get(\"GuidVerify\") ? true : false,\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { initialSession, Auth } from \"../IRequestModel/IAuthModel\";\r\n\r\nexport const SessionContext = createContext<[Auth, (session: Auth) => void]>([\r\n initialSession,\r\n () => {},\r\n]);\r\nexport const useSessionContext = () => useContext(SessionContext);\r\n\r\nexport const SessionContextProvider: React.FC = (props) => {\r\n const [sessionState, setSessionState] = useState(initialSession);\r\n const defaultSessionContext: [Auth, typeof setSessionState] = [\r\n sessionState,\r\n setSessionState,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","export const GetAllEmployee = async (opts?: {Scopes?: string, IsActiveOnly?: boolean}) => {\r\n let qs = new URLSearchParams({\r\n [\"Scopes\"]: opts?.Scopes || \"\",\r\n [\"IsActiveOnly\"]: (opts?.IsActiveOnly || true).toString()\r\n });\r\n const respone = await fetch(\"api/Employee/GetAll?\" + qs.toString())\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone?.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\n/**\r\n * ฟังก์ชันอยู่ระหว่างพิจารณาปรับใช้งาน\r\n */\r\nexport const GetEmployeeByUserPrincipalName = async (dataEmp :any) => {\r\n try{\r\n dataEmp.UserPrincipalName = JSON.parse(localStorage.getItem(\"userData\")!).employeeData.Email;\r\n const respone = await fetch(\"api/Employee/GetEmployeeByUserPrincipalName\",{\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataEmp),\r\n })\r\n return await respone.json();\r\n\r\n // if (Array.isArray(data?.data)) {\r\n // // ใช้ filter กับข้อมูลของ Employee ได้เนื่องจาก data.data เป็นอาร์เรย์\r\n // const activeEmployees = data.data.filter((e: any) => e.IsActive === true);\r\n // return activeEmployees;\r\n // } else {\r\n // console.error(\"Invalid employee data returned from GetByIdEmployee\");\r\n // return null;\r\n // }\r\n } catch (error) {\r\n console.log(\"emp=>err\", error);\r\n return error;\r\n }\r\n};\r\n\r\nexport const UpdateEmployee = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Employee/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UpdateSignature = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/UpdateSignature\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetUserData = async (empData: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n empData.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(empData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetAllPosition = async () => {\r\n const respone = await fetch(\"api/Position/AllPositionList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddPosition = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Position/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdatePosition = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Position/UpdatePosition\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetDepartment = async () => {\r\n const respone = await fetch(\"api/Department/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdateDepartment = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const data = {\r\n name: \"Department\",\r\n model: JSON.stringify(dataJson),\r\n };\r\n const respone = await fetch(\"api/Department/AddDepartment\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./EmployeeDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog, ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport {\r\n GetAllEmployee,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n setMainLoading?: (bool: boolean) => void;\r\n setMainDialogVisible: (...args: any) => void;\r\n}\r\n\r\nexport const EmployeeDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedPosition, setFormSelectedPosition] = useState([]);\r\n const [formSelectedDepartment, setFormSelectedDepartment] = useState([]);\r\n const [formSelectedDivision, setFormSelectedDivision] = useState([]);\r\n const [positionList, setPositionList] = useState([]);\r\n const [deptList, setDeptList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [report_To, setReport_To] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fetchPosition();\r\n fetchDataEmployee();\r\n fetchDivision();\r\n fetchDepartment();\r\n\r\n if (\r\n !isEmptyObject(props.formData) ||\r\n props.dialogHeader === \"Edit Profile\"\r\n ) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n fetchPosition();\r\n fetchDataEmployee();\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n setLoading(false);\r\n } else {\r\n setFormSelectedPosition(null);\r\n setFormSelectedDepartment(null);\r\n setUploadFile(undefined);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n let selectedEmp = {\r\n EmployeeId: Number,\r\n EmployeeCode: String,\r\n NameTh: String,\r\n Report_ToNameEn: String,\r\n };\r\n\r\n _dataEmployee.map((e: any) => {\r\n if (e.EmployeeId === Number(props.formData?.ReportToEmpCode)) {\r\n selectedEmp.EmployeeId = e.EmployeeId;\r\n selectedEmp.EmployeeCode = e.EmployeeCode;\r\n selectedEmp.NameTh = e.NameTh;\r\n selectedEmp.Report_ToNameEn = e.NameEn;\r\n setReport_To(selectedEmp);\r\n }\r\n });\r\n\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n }\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllPosition();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataPosition.length; i++) {\r\n let positionList = {\r\n PositionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n positionList.PositionId = _dataPosition[i].PositionId;\r\n positionList.NameTh = _dataPosition[i].NameTh;\r\n positionList.NameEn = _dataPosition[i].NameEn;\r\n\r\n if (positionList.PositionId === props.formData?.PositionId) {\r\n setFormSelectedPosition(positionList);\r\n }\r\n\r\n newList.push(positionList);\r\n }\r\n\r\n setPositionList(newList);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataOrgranize.length; i++) {\r\n let deptList = {\r\n DepartmentId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n deptList.DepartmentId = _dataOrgranize[i].DepartmentId;\r\n deptList.NameTh = _dataOrgranize[i].NameTh;\r\n deptList.NameEn = _dataOrgranize[i].NameEn;\r\n if (deptList.DepartmentId === props.formData?.DepartmentId) {\r\n setFormSelectedDepartment(deptList);\r\n }\r\n newList.push(deptList);\r\n }\r\n\r\n setDeptList(newList);\r\n }\r\n\r\n async function fetchDivision() {\r\n let _dataDivision = await GetAllDynamic(\"Division/GetAll\", undefined);\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataDivision.length; i++) {\r\n let divtList = {\r\n DivisionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n divtList.DivisionId = _dataDivision[i].DivisionId;\r\n divtList.NameTh = _dataDivision[i].NameTh;\r\n divtList.NameEn = _dataDivision[i].NameEn;\r\n if (divtList.DivisionId === props.formData?.DivisionId) {\r\n setFormSelectedDepartment(divtList);\r\n }\r\n newList.push(divtList);\r\n }\r\n\r\n setDivtList(newList);\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && props.mainDialogVisible) {\r\n if (\r\n data.Position.PositionId !== undefined &&\r\n data.Department.DepartmentId !== undefined\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\"\r\n ? \"Add\" + \" Confirmation\"\r\n : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== props.formData?.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n props.dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n result = await UpdateSignature(formData);\r\n }\r\n\r\n if (result.result === \"success\") {\r\n console.log({ formData, result });\r\n\r\n if (props.dialogHeader === \"Edit Profile\") {\r\n let newUser = userData;\r\n newUser = formData;\r\n setUserData(newUser);\r\n } else {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n // props.toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n }\r\n } else {\r\n if (isCodeDup) {\r\n toggleAlert({\r\n description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This EmployeeCode \" +\r\n // empDup.EmployeeCode +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (isEmailDup) {\r\n toggleAlert({\r\n description: `This email ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This email \" +\r\n // empDup.Email +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n setReport_To(data);\r\n setSubDialogVisible(false);\r\n setLoading(false);\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\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 {getFormErrorMessage(\"EmployeeCode\")}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props.dialogHeader !== \"Edit Profile\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\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 setFormSelectedPosition(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Position\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDepartment(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Department\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDivision(e.value)}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n
\r\n \r\n {!isEmptyObject(report_To) && (\r\n {\r\n setReport_To(null);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n {action !== \"add\" && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","const ignore = ['favorite', 'memoid'];\r\nexport const clearLocalStorageOnLogout = () => {\r\n Object.keys(localStorage).forEach((key) =>\r\n !ignore.includes(key) ? localStorage.removeItem(key) : \"\"\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Collapse } from \"antd\";\r\nimport { IoLogOutSharp, IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { BsFillFileEarmarkPersonFill, BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n data: any;\r\n closeDropdown: () => void;\r\n}\r\n\r\nexport const ButtonNavigationDropdown = (props: Props) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [toggleState, setToggleState] = useState([]);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [empData, setEmpData] = useState({});\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n if (empData !== null) {\r\n let name = empData.employeeData.NameEn || \"\";\r\n let email = empData.employeeData.Email || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n\r\n setEmailUser(email);\r\n setShortNameUser(firstName + lastName);\r\n setNameUser(name);\r\n setEmpData(empData.employeeData);\r\n }\r\n }, [sessionState.isAuthenticated]);\r\n useEffect(() => {\r\n let result = props.data.reduce(function (r: any, a: any) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n setMenuButton(_res);\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n\r\n setToggleState([...toggleArray]);\r\n }, [props.data]);\r\n const { Panel } = Collapse;\r\n const location = useLocation();\r\n const history = useHistory();\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname === `/${key}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (location.pathname === `${_data.Url}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n if (location.pathname === `/Request`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n const userPopupContent = () => {\r\n return (\r\n console.log(window.location.href)}\r\n >\r\n
\r\n
\r\n \r\n

{nameUser}

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

{emailUser}

\r\n
\r\n
\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

Profile

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const mapButton = () => {\r\n const map: any = [];\r\n map.push(\r\n <>\r\n \r\n
\r\n
\r\n

{shortNameUser}

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

\r\n {nameUser}\r\n

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

\r\n {emailUser}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n key=\"sadsad\"\r\n >\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Profile\")}

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n \r\n );\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (key !== \"Request\") {\r\n map.push(\r\n <>\r\n {value.length > 1 ? (\r\n \r\n {value.map((e: any, idx: any) => (\r\n {\r\n history.push(\r\n \"/Settings?name=\" + e.Url.replaceAll(\"/\", \"\")\r\n );\r\n props.closeDropdown();\r\n }}\r\n >\r\n {e.SubMenu}\r\n

\r\n ))}\r\n
\r\n ) : (\r\n {\r\n history.push(`${value[0].Url}`);\r\n props.closeDropdown();\r\n }}\r\n >\r\n

{key}

\r\n \r\n )}\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n // \r\n // \r\n // {/* {key} */}\r\n // {/* \r\n // {value.map((e: any, idx: any) => (\r\n // {\r\n // history.push(e.Url);\r\n // props.closeDropdown();\r\n // }}\r\n // >\r\n // {e.SubMenu}\r\n //

\r\n // ))}\r\n //
*/}\r\n // {map}\r\n //
\r\n //
\r\n {map}\r\n );\r\n };\r\n return (\r\n
\r\n \r\n {props.data.length > 0 ? mapButton() : null}\r\n
\r\n );\r\n};\r\n","import { INavigationMenu } from \"../IRequestModel/INavagationModel\";\r\n\r\nexport const GetNavbarMenu = async (\r\n email: string\r\n): Promise => {\r\n const respone: INavigationMenu[] = await fetch(\r\n \"api/NavbarMenu/GetAllByEmail\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ mail: email }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((navBarData: INavigationMenu[]) => {\r\n if (navBarData) {\r\n console.log({ navBarData });\r\n\r\n const formatNav = navBarData.map((menu) => {\r\n return {\r\n ...menu,\r\n GroupMenu:\r\n menu.GroupMenu.charAt(0).toUpperCase() + menu.GroupMenu.slice(1),\r\n };\r\n });\r\n return formatNav;\r\n }\r\n return [];\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Modal } from \"antd\";\r\nimport React from \"react\";\r\nimport {\r\n Control,\r\n Controller,\r\n FieldError,\r\n UseFormHandleSubmit,\r\n} from \"react-hook-form\";\r\nimport { IoMdClose } from \"react-icons/io\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype ChangePasswordModalProps = {\r\n visible: boolean;\r\n handleCancel: () => void;\r\n onSubmitPassword: (data: any) => void;\r\n handleSubmit: UseFormHandleSubmit<{\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n }>;\r\n control: Control<\r\n {\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n },\r\n object\r\n >;\r\n errors: {\r\n current_password?: FieldError | undefined;\r\n new_password?: FieldError | undefined;\r\n comfirm_password?: FieldError | undefined;\r\n };\r\n isPasswordCompared: boolean;\r\n};\r\n\r\nconst ChangePasswordModal: React.FC = ({\r\n visible,\r\n handleCancel,\r\n onSubmitPassword,\r\n handleSubmit,\r\n control,\r\n errors,\r\n isPasswordCompared,\r\n}) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n }\r\n className=\"modal-password\"\r\n width={800}\r\n visible={visible}\r\n footer={false}\r\n onCancel={handleCancel}\r\n >\r\n
\r\n
\r\n

{t(\"Change Password\")}

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

\r\n Current Password : *\r\n

\r\n

รหัสผ่านปัจจุบัน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.current_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n New Password : *\r\n

\r\n

รหัสผ่านใหม่ :

\r\n
\r\n (\r\n
\r\n \r\n {errors.new_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n Confirm Password : *\r\n

\r\n

ยืนยันรหัสผ่าน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.comfirm_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ChangePasswordModal;\r\n","export const CheckAppSetting = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAppSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanEditProfile = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanEditProfile\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanAdminEditCompletedMemo = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanAdminEditCompletedMemo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"app=>CheckCanAdminEditCompletedMemo\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CheckAutoReport = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAutoReport\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanDownloadPdf = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanDownloadPdf\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Col, Row } from \"antd\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllEmployee,\r\n GetUserData,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { IUserModel } from \"../../../IRequestModel/IUserModel\";\r\nimport { CheckCanEditProfile } from \"../../../Services/AppSettingService\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype Props = {\r\n rowData: any;\r\n dialogHeader: string;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData?: any;\r\n setMainLoading?: (bool: boolean) => void;\r\n setTableData?: (items: any) => void;\r\n canEditOnlySignature?: boolean;\r\n isEditProfile?: boolean;\r\n};\r\n\r\ninterface IEmployeeForm {\r\n EmployeeId: number;\r\n EmployeeCode: string;\r\n Username: string;\r\n NameTh: string;\r\n NameEn: string;\r\n Email: string;\r\n IsActive: boolean;\r\n PositionId: number;\r\n PositionNameTh: string;\r\n PositionNameEn: string;\r\n DepartmentId: number;\r\n DepartmentNameTh: string;\r\n DepartmentNameEn: string;\r\n DivisionId: number;\r\n DivisionNameTh: string;\r\n DivisionNameEn: string;\r\n ReportToEmpCode: string;\r\n SignPicPath: string;\r\n Lang: string;\r\n AccountCode: string;\r\n AccountName: string;\r\n DefaultLang: string;\r\n CreatedDate: string;\r\n CreatedBy: string;\r\n ModifiedDate: string;\r\n ModifiedBy: string;\r\n ADTitle: string;\r\n}\r\n\r\nconst EmployeeDialogFix: FC = ({\r\n rowData,\r\n dialogHeader,\r\n mainDialogVisible,\r\n toggleMainDialog,\r\n tableData,\r\n setTableData,\r\n setMainLoading,\r\n canEditOnlySignature,\r\n isEditProfile,\r\n}) => {\r\n const [positionList, setPositionList] = useState([]);\r\n const [departmentList, setDepartmentList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [editProfileSetting, setEditProfileSetting] = useState();\r\n const toast = useRef(null);\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n let defaultValues: IEmployeeForm = {\r\n EmployeeId: 0,\r\n EmployeeCode: \"\",\r\n Username: \"\",\r\n NameTh: \"\",\r\n NameEn: \"\",\r\n Email: \"\",\r\n IsActive: true,\r\n PositionId: 0,\r\n PositionNameTh: \"\",\r\n PositionNameEn: \"\",\r\n DepartmentId: 0,\r\n DepartmentNameTh: \"\",\r\n DepartmentNameEn: \"\",\r\n DivisionId: 0,\r\n DivisionNameTh: \"\",\r\n DivisionNameEn: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: \"\",\r\n Lang: \"\",\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n DefaultLang: \"\",\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n ADTitle: \"\",\r\n };\r\n\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n getValues,\r\n watch,\r\n reset,\r\n setValue,\r\n setError,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues,\r\n });\r\n\r\n useEffect(() => {\r\n if (mainDialogVisible) {\r\n if (dialogHeader === \"Edit Profile\") {\r\n setAction(\"edit\");\r\n } else if (dialogHeader === \"Employee\") {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n } else {\r\n setUploadFile(undefined);\r\n }\r\n }, [mainDialogVisible]);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const acceptSave = async (data: IEmployeeForm) => {\r\n if (data.Lang === \"EN\") {\r\n i18n.changeLanguage(\"en\");\r\n } else {\r\n i18n.changeLanguage(\"th\");\r\n }\r\n localStorage.setItem(\"lang\", data.Lang);\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== rowData.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n\r\n const selectedPosition = positionList.find(\r\n (pos: any) => pos.PositionId === data.PositionId\r\n );\r\n const selectedDept = departmentList.find(\r\n (dept: any) => dept.DepartmentId === data.DepartmentId\r\n );\r\n const selectedDiv = divList.find(\r\n (div: any) => div.DivisionId === data.DivisionId\r\n );\r\n const selectedEmp = dataEmployeeList.find(\r\n (emp: any) => emp.EmployeeId == data.ReportToEmpCode\r\n );\r\n\r\n // if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = rowData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive.toString() !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n result = await UpdateSignature(formData);\r\n }\r\n\r\n if (result.result === \"success\") {\r\n if (dialogHeader === \"Edit Profile\") {\r\n let newUser: IUserModel = formData;\r\n setUserData({\r\n ...newUser,\r\n });\r\n } else {\r\n if (setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n setTableData(newData);\r\n }\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n setLoading(false);\r\n }\r\n }\r\n\r\n toggleMainDialog(false, \"save\");\r\n } else {\r\n // if (props.setMainLoading !== undefined) {\r\n // setMainLoading(false);\r\n // }\r\n toggleAlert({\r\n description: `${result.errorMessage || result.title}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n setLoading(false);\r\n }\r\n // } else {\r\n // if (isCodeDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // if (isEmailDup) {\r\n // toggleAlert({\r\n // description: `This EmployeeCode ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n // message: `Dupplicate field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // }\r\n // setLoading(false);\r\n // }\r\n };\r\n\r\n const onSubmit = (data: IEmployeeForm) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-success table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n // if (dialogHeader !== \"Edit Profile\") {\r\n // toggleMainLoading();\r\n // } else {\r\n setLoading(true);\r\n // }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n fetchDataEmployee();\r\n getSetting();\r\n fetchPosition();\r\n }, []);\r\n\r\n const getSetting = async () => {\r\n const canEditProfile = await CheckCanEditProfile();\r\n\r\n setEditProfileSetting(canEditProfile);\r\n };\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllDynamic(\"Position/GetAll\", undefined);\r\n if (_dataPosition) {\r\n _dataPosition.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n }\r\n\r\n setPositionList(_dataPosition?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDataEmployee() {\r\n if (rowData.EmployeeId) {\r\n let data = {\r\n EmployeeId: rowData.EmployeeId.toString(),\r\n };\r\n let user = await GetUserData(data);\r\n if (user) {\r\n reset(user);\r\n }\r\n }\r\n let _dataEmployee = await GetAllEmployee({ Scopes: \"name,email,org\" });\r\n if (_dataEmployee) {\r\n setDataEmployeeList(_dataEmployee?.filter((e: any) => e.IsActive));\r\n }\r\n setLoading(false);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n _dataOrgranize.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n\r\n setDepartmentList(_dataOrgranize?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDivision() {\r\n try {\r\n let _dataDivision: any[] = await GetAllDynamic(\r\n \"Division/GetAll\",\r\n undefined\r\n );\r\n _dataDivision.map((e: any) => {\r\n if (!e.DivisionCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.DivisionCode + \" : \" + e.NameEn;\r\n e.NameTh = e.DivisionCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n setDivtList([..._dataDivision?.filter((e: any) => e.IsActive)]);\r\n } catch (error) {}\r\n }\r\n\r\n const getReportTo = (currentCode: any) => {\r\n let val = \"\";\r\n if (currentCode) {\r\n const emp = dataEmployeeList.find(\r\n (e: any) => e.EmployeeId == currentCode\r\n );\r\n if (emp) {\r\n if (userData?.Lang === \"EN\") {\r\n val = emp.NameEn;\r\n } else {\r\n val = emp.NameTh;\r\n }\r\n }\r\n }\r\n return val;\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n if (e.target.files[0].size <= Number(editProfileSetting?.limitFileSize)) {\r\n getBase64(e.target.files[0]);\r\n } else {\r\n toggleAlert({\r\n description: `File upload limit 20 MB (20,971,520 bytes) per file.`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"File upload limit 20 MB (20,971,520 bytes) per file.\",\r\n // life: 5000,\r\n // });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n const errs: any = control._formState.errors;\r\n if (errs[name]) {\r\n if (errs[name].type === \"required\") {\r\n return {errs[name].message};\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customPosition:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customPosition:\", \"\")}\r\n \r\n );\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customDepartment:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customDepartment:\", \"\")}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {\"This \" + name + \" is not the correct pattern\"}\r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {};\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (toggleMainDialog) {\r\n toggleMainDialog(false, \"close\");\r\n }\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n <>\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\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 {getFormErrorMessage(\"Email\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n pos.PositionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.PositionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"PositionId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n dept.DepartmentId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DepartmentId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !control._getWatch(field.name),\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"DepartmentId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n div.DivisionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DivisionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {control._getWatch(field.name) && (\r\n {\r\n setValue(\"ReportToEmpCode\", \"\");\r\n }}\r\n disabled={\r\n canEditOnlySignature\r\n ? canEditOnlySignature\r\n : undefined\r\n }\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n setValue(\"SignPicPath\", \"\");\r\n }}\r\n style={{\r\n width: \"38px\",\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {uploadFile && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n confirmDialog({\r\n message: \"Are you sure you want to cancel this action?\",\r\n header: \"Cancel Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n reset();\r\n toggleMainDialog(false, \"close\");\r\n },\r\n });\r\n }}\r\n type={\"button\"}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {\r\n setValue(\"ReportToEmpCode\", e.EmployeeId.toString());\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default EmployeeDialogFix;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { BsList } from \"react-icons/bs\";\r\nimport { ButtonNavigation } from \"../ButtonNav/ButtonNavigation\";\r\nimport { ButtonNavigationDropdown } from \"../ButtonNav/ButtonNavigationDropdown\";\r\n// import { Dropdown } from \"react-bootstrap\";\r\n// import { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\n\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo.png\";\r\nimport WolfLogo from \"../../assets/wolfLogo.png\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { FaKey } from \"react-icons/fa\";\r\nimport \"./NavigationBar.css\";\r\nimport { Dropdown } from \"antd\";\r\nimport { Popover, Modal } from \"antd\";\r\nimport { IoLogOutSharp } from \"react-icons/io5\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nimport { BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useMsal, useIsAuthenticated } from \"@azure/msal-react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { LoginConfiguration } from \"../../Services/ConfigurationService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport ChangePasswordModal from \"./ChangePasswordModal\";\r\nimport { IChangePasswordRequest } from \"../../IRequestModel/IChangePasswordModel\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { INavigationMenu } from \"../../IRequestModel/INavagationModel\";\r\nimport EmployeeDialogFix from \"../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nexport const NavigationBar = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [navigationMenu, setNavigationMenu] = useState([]);\r\n const [toggleDropdown, setToggleDropdown] = useState(false);\r\n const [popOverClick, setPopOverClick] = useState(false);\r\n const [popOverHover, setPopOverHover] = useState(false);\r\n const [showNav, setShowNav] = useState(false);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const [empData, setEmpData] = useState({});\r\n const { instance, inProgress, accounts } = useMsal();\r\n const [visible, setVisible] = useState(false);\r\n const [confirmLoading, setConfirmLoading] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [isFetching, setIsFetching] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n // const { googleAuth } = useGoogleAuth();\r\n\r\n let location = useLocation();\r\n let history = useHistory();\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { url } = useRouteMatch();\r\n const toast = useRef(null);\r\n\r\n const [isWolf, setIsWolf] = useState(false);\r\n const [canEditProfile, setCanEditProfile] = useState(true);\r\n const [canEditOnlySignature, setCanEditOnlySignature] =\r\n useState(true);\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n current_password: \"\",\r\n new_password: \"\",\r\n comfirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n if (userData) {\r\n initialNameUser();\r\n fetchNav();\r\n checkState();\r\n }\r\n }, [userData]);\r\n\r\n const initialNameUser = () => {\r\n if (userData) {\r\n let name = userData.NameEn || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n setShortNameUser(firstName + lastName);\r\n }\r\n };\r\n\r\n const fetchNav = async () => {\r\n const _navigationMenu = await GetNavbarMenu(userData?.Email);\r\n\r\n setNavigationMenu([..._navigationMenu]);\r\n };\r\n\r\n const checkState = () => {\r\n const _isWolf = window.localStorage.getItem(\"isWolf\");\r\n const _canEditProfile = window.localStorage.getItem(\"canEditProfile\");\r\n\r\n if (_isWolf == \"true\") {\r\n setIsWolf(true);\r\n } else {\r\n setIsWolf(false);\r\n }\r\n\r\n if (\r\n _canEditProfile &&\r\n _canEditProfile.length > 2 &&\r\n _canEditProfile !== \"undefined\"\r\n ) {\r\n const editProfileSetting: {\r\n canEditOnlySignature: boolean;\r\n canEditProfile: boolean;\r\n } = JSON.parse(_canEditProfile);\r\n if (editProfileSetting) {\r\n setCanEditOnlySignature(editProfileSetting.canEditOnlySignature);\r\n setCanEditProfile(editProfileSetting.canEditProfile);\r\n }\r\n }\r\n };\r\n\r\n const handleScroll = () => {\r\n setPopOverClick(false);\r\n };\r\n const handleCancel = () => {\r\n reset();\r\n setVisible(false);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setToggleDropdown(false);\r\n };\r\n\r\n const handleClickChange = (visible: boolean) => {\r\n setPopOverHover(false);\r\n setPopOverClick(visible);\r\n };\r\n const signOutClickHandler = async (instance: any) => {\r\n var respone = await LoginConfiguration();\r\n const baseurl = window.location.origin.toString();\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n setNavigationMenu([]);\r\n //AzureLogout\r\n if (respone.type === \"LoginAzure\") {\r\n const logoutRequest = {\r\n account: instance.getAccountByHomeId(accounts[0]?.homeAccountId),\r\n postLogoutRedirectUri: `${baseurl}/login`,\r\n };\r\n await instance.logoutRedirect(logoutRequest);\r\n }\r\n setPopOverClick(false);\r\n\r\n //GoogleLogout\r\n // googleAuth?.signOut();\r\n };\r\n const handleOpenEditProfileModal = () => {\r\n setMainDialogVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const handleOpenChangePasswordModal = () => {\r\n setVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const userPopupContent = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n {userData?.NameEn}\r\n

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

\r\n {userData?.Email}\r\n

\r\n
\r\n
\r\n
\r\n {/* change Pass */}\r\n {canEditProfile && (\r\n \r\n
\r\n \r\n
\r\n

{t(\"Edit Profile\")}

\r\n
\r\n )}\r\n {isWolf && (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n )}\r\n signOutClickHandler(instance)}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const NavbarDesktop = () => {\r\n return (\r\n <>\r\n history.push(\"/Default\")}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n const NavbarMobile = () => {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n\r\n {/*
\r\n \r\n
\r\n

{shortNameUser}

\r\n
\r\n \r\n
*/}\r\n \r\n );\r\n };\r\n const onSubmitPassword = async (res: IChangePasswordRequest) => {\r\n console.log(res);\r\n const _baseUrl = window.location.hostname;\r\n if (res.new_password !== res.comfirm_password) {\r\n setIsPasswordCompared(false);\r\n } else {\r\n // setVisible(false);\r\n const respone = await fetch(\"api/Authentication/ResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: userData.Email,\r\n newPassword: res.new_password,\r\n oldPassword: res.current_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"reset\", data);\r\n if (data) {\r\n toggleAlert({\r\n description: `${data.Remark}`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n cookies.remove(\"GuidVerify\");\r\n setPopOverClick(false);\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n signOutClickHandler(instance);\r\n } else {\r\n toggleAlert({\r\n description: `Incorrect current password.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n handleCancel();\r\n });\r\n setIsPasswordCompared(true);\r\n }\r\n };\r\n const menu = (\r\n
\r\n \r\n
\r\n );\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setMainDialogVisible(state);\r\n }\r\n };\r\n\r\n const dialogEmployee = () => {\r\n return (\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {sessionState.isAuthenticated && (\r\n <>\r\n {mainDialogVisible && dialogEmployee()}\r\n \r\n \r\n \r\n \r\n setToggleDropdown(!toggleDropdown)}\r\n >\r\n \r\n \r\n \r\n {navigationMenu.length > 0 && (\r\n <>\r\n {NavbarDesktop()}\r\n {NavbarMobile()}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const loginWolfAccount = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/WolfAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginWolfBD = async (method: any, data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Login/LoginBD\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginAD = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/ADAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\n\r\ninterface LoadProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\ninterface ILoadContextType {\r\n isLoad: boolean;\r\n setLoad: (is: boolean) => void;\r\n}\r\n\r\nconst LoadContext = createContext(null);\r\n\r\nconst LoadProvider: React.FC = (props) => {\r\n const [isLoad, setLoad] = useState(false);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { LoadProvider, LoadContext };\r\n","import { useContext } from \"react\";\r\nimport { LoadContext } from \"../Context/LoadContext\";\r\n\r\nconst useLoading = () => {\r\n const context = useContext(LoadContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useLoading;\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail, AiOutlineLock } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {\r\n PathLogo: string;\r\n IsMulti: string;\r\n PathCarousel: string[];\r\n HidePassAndRegister: boolean;\r\n}\r\ninterface Emp {\r\n EmployeeCode: String;\r\n Username: String;\r\n Email: String;\r\n}\r\n\r\nexport const LoginScreen = (props: Props) => {\r\n const { isLoad, setLoad } = useLoading();\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log(\"webVersion\", response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log(\"apiVersion\", response.apiVersion);\r\n };\r\n\r\n const onSubmit = async (data: { username: string; password: string }) => {\r\n setOnLoading(true);\r\n\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n\r\n /**\r\n * กรณี NODE_ENV เป็น development และตั้งค่า env.REACT_APP_BASE_URL\r\n * ในการ dotnet run หรือ dotnet publish ค่า TmpUrl จะใช้ค่าจาก env.REACT_APP_BASE_URL\r\n */\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n } else {\r\n let _loginWolfAccount = await loginWolfAccount(\"POST\", _loginBody);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n\r\n clearLocalStorageOnLogout();\r\n localStorage.setItem(\"isWolf\", \"true\");\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n setOnLoading(false);\r\n\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n }\r\n\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n setOnLoading(false);\r\n };\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (location.hash.indexOf(\"#scope=email%20profile%20\") !== -1) {\r\n }\r\n }, [location.hash]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n \r\n Account/Email/Username :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n {props.HidePassAndRegister == false || null ? (\r\n
\r\n history.push(\"/Verify\")}\r\n >\r\n Forgot Password?\r\n \r\n\r\n \r\n {\" \"}\r\n |\r\n \r\n history.push(\"/RegisterWolfScreen\")}\r\n >\r\n {\" \"}\r\n Register\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n Log In\r\n \r\n

{remarkValid}

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

\r\n © WOLF R2 v{webVersion} | API v{apiVersion}\r\n

\r\n
\r\n
\r\n\r\n {props?.IsMulti === \"T\" && (\r\n <>\r\n
\r\n
\r\n หรือ\r\n
\r\n
\r\n {\r\n localStorage.setItem(\"isWolf\", \"false\");\r\n history.push(\"/LoginAzure\");\r\n }}\r\n type=\"button\"\r\n label=\"Login AD\"\r\n className=\"hover-color-css-white-2 p-button-outlined\"\r\n icon=\"pi pi-microsoft\"\r\n />\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","export function deleteAllCookies() {\r\n document.cookie.split(\";\").forEach(function(c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n}","import { Configuration, LogLevel } from \"@azure/msal-browser\";\r\n\r\nconst AzureActiveDirectoryAppClientId: any =\"217afefc-c4c6-4a5b-b4b8-982548d4e63f\"\r\n \r\n\r\nexport const MSAL_CONFIG: Configuration = {\r\n auth: {\r\n clientId: AzureActiveDirectoryAppClientId,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: false,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level, message, containsPii) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n },\r\n },\r\n};","import {\r\n PublicClientApplication,\r\n AuthenticationResult,\r\n AccountInfo,\r\n EndSessionRequest,\r\n RedirectRequest,\r\n PopupRequest,\r\n } from \"@azure/msal-browser\";\r\n \r\n import { MSAL_CONFIG } from \"./zure-authentication-config\";\r\n \r\n export class AzureAuthenticationContext {\r\n private myMSALObj: PublicClientApplication = new PublicClientApplication(\r\n MSAL_CONFIG\r\n );\r\n private account?: AccountInfo;\r\n private loginRedirectRequest?: RedirectRequest;\r\n private loginRequest?: PopupRequest;\r\n \r\n public isAuthenticationConfigured = false;\r\n \r\n constructor() {\r\n // @ts-ignore\r\n this.account = null;\r\n this.setRequestObjects();\r\n if (MSAL_CONFIG?.auth?.clientId) {\r\n this.isAuthenticationConfigured = true;\r\n }\r\n }\r\n \r\n private setRequestObjects(): void {\r\n this.loginRequest = {\r\n scopes: [],\r\n prompt: \"select_account\",\r\n };\r\n \r\n this.loginRedirectRequest = {\r\n ...this.loginRequest,\r\n redirectStartPage: window.location.href,\r\n };\r\n }\r\n \r\n login(signInType: string, setUser: any): void {\r\n if (signInType === \"loginPopup\") {\r\n this.myMSALObj\r\n .loginPopup(this.loginRequest)\r\n .then((resp: AuthenticationResult) => {\r\n this.handleResponse(resp, setUser);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (signInType === \"loginRedirect\") {\r\n this.myMSALObj.loginRedirect(this.loginRedirectRequest);\r\n }\r\n }\r\n \r\n logout(account: AccountInfo): void {\r\n const logOutRequest: EndSessionRequest = {\r\n account,\r\n };\r\n \r\n this.myMSALObj.logout(logOutRequest);\r\n }\r\n handleResponse(response: AuthenticationResult, incomingFunction: any) {\r\n if(response !==null && response.account !==null) {\r\n this.account = response.account;\r\n } else {\r\n this.account = this.getAccount();\r\n }\r\n \r\n if (this.account) {\r\n incomingFunction(this.account);\r\n }\r\n }\r\n private getAccount(): AccountInfo | undefined {\r\n console.log(`loadAuthModule`);\r\n const currentAccounts = this.myMSALObj.getAllAccounts();\r\n if (currentAccounts === null) {\r\n // @ts-ignore\r\n console.log(\"No accounts detected\");\r\n return undefined;\r\n }\r\n \r\n if (currentAccounts.length > 1) {\r\n // TBD: Add choose account code here\r\n // @ts-ignore\r\n console.log(\r\n \"Multiple accounts detected, need to add choose account code.\"\r\n );\r\n return currentAccounts[0];\r\n } else if (currentAccounts.length === 1) {\r\n return currentAccounts[0];\r\n }\r\n }\r\n }\r\n \r\n export default AzureAuthenticationContext;","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n useIsAuthenticated,\r\n useMsal,\r\n useMsalAuthentication,\r\n} from \"@azure/msal-react\";\r\nimport {\r\n InteractionStatus,\r\n InteractionType,\r\n InteractionRequiredAuthError,\r\n AccountInfo,\r\n} from \"@azure/msal-browser\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport WolfSlideLeft from \"../../assets/wolf-slide-left.png\";\r\nimport WolfSlideRight from \"../../assets/wolf-slide-right.png\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport WolfLogo from \"../../assets/WolfR2LogoLogin.png\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport AzureAuthenticationContext from \"../../azure/azure-authentication-context\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n pathLogo: any;\r\n pathCarousel: any;\r\n}\r\n\r\nexport const LoginScreenAzure = (props: Props) => {\r\n const [currentUser, setCurrentUser] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [user, setUser] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [dialogBD, setDialogBD] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [errorMassage, setErrorMassage] = useState(\"\");\r\n const { instance, inProgress, accounts } = useMsal();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n\r\n const isAuthenticated = useIsAuthenticated();\r\n const authenticationModule: AzureAuthenticationContext =\r\n new AzureAuthenticationContext();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const request = {\r\n scopes: [\"User.Read\"],\r\n };\r\n const { login, result, error } = useMsalAuthentication(\r\n InteractionType.Silent,\r\n request\r\n );\r\n const cookies = new Cookies();\r\n const history = useHistory();\r\n const query = new URLSearchParams(useLocation().search);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated && isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (query.get(\"mode\") === \"BD\") {\r\n setDialogBD(true);\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n console.log(\r\n \" : \",\r\n isAuthenticated,\r\n InteractionStatus.None,\r\n accounts,\r\n \" inProgress: \",\r\n inProgress,\r\n \"Result:\",\r\n result\r\n );\r\n }, [isAuthenticated, inProgress, instance, result]);\r\n useEffect(() => {\r\n submitAzure();\r\n }, [accounts]);\r\n\r\n const onSubmitBD = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"techconsbiz.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log(\"login=>data\", data.username.includes(key));\r\n\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n console.log(\"login=>_loginWolfAccount\", _loginWolfAccount);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n };\r\n\r\n const submitAzure = async () => {\r\n console.log(accounts);\r\n if (accounts.length > 0) {\r\n const _accounts: any = accounts[0];\r\n setOnLoading(true);\r\n await fetch(\"api/Login/AzureAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: accounts[0].username,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n const _loginWolfAccount: any = data;\r\n clearLocalStorageOnLogout();\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _accounts.idTokenClaims.aud, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + _accounts.idTokenClaims.exp),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n });\r\n }\r\n };\r\n\r\n const ActionPassLogin = async (_loginWolfAccount: any) => {\r\n if (_loginWolfAccount === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n setOnLoading(false);\r\n authenticationModule.logout(user);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {props.pathCarousel.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n \"logo-login\"\r\n\r\n
\r\n {\r\n instance.loginPopup(request).catch((e) => {\r\n console.error(e);\r\n });\r\n }}\r\n >\r\n Log In\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\"/login\");\r\n setDialogBD(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={true}\r\n >\r\n
\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n Email Address :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n

\r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

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

{remarkValid}

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./FooterComponents.css\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {}\r\n\r\nexport const FooterComponents = (props: Props) => {\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log('webVersion', response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log('apiVersion', response.apiVersion);\r\n };\r\n\r\n return (\r\n
\r\n

\r\n
\r\n

\r\n We recommend using{\" \"}\r\n or{\" \"}\r\n at\r\n this time.\r\n

\r\n

© WOLF R2 v{webVersion} | API v{apiVersion}

\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport \"./ButtonComponents.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setStyleDivProps?: any;\r\n setLabelProps?: any;\r\n setStyleProps?: any;\r\n disabledProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n typeProps?: any;\r\n loading?: boolean;\r\n}\r\n\r\nexport const ButtonComponents = (props: Props) => {\r\n return (\r\n \r\n );\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD3SURBVHgBpVTLDcIwDDWfO9mgYQK6AWzQI0e6QRmFUdgANiAbtGxAb9yKA46UGjtE5UlPcWL72YmSLCANg9wjLfKJ7GECLLJFDkRvb2ACLpRsSPRGayKWFLQVfDvkGVnR3CFr5EGIvQI5hj85Eh+UahpqynljHjk6+GwzFwXyIQn5RRPNLbKJ5g3zGyoudmRYxRONluySFVI7spCPZEcW8mE1oTuMt5YjJG4NSChHLMR0kpCjcQV53Xj0klBoc82SpBcfirWggN/uUrEriG417yh0FZ+RU2wL0UF7LJlQeOEOdPhCxx8xX5+ZRh9TxImzhGAKHV94AajHSv3WTYedAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD1SURBVHgBnZMNDYMwEIWPBAF1MBzMwhyAg+GATAFzgIQxBWwKmAMkwBSAA3YNr4N1bSm85EF61369/hHt05nds1v2gXYqZo8AKZgIQE9kYwVwAeDFHtgnuJSxkD9XQAYHpES+pnlC+b8DlhJmycmtCEvoUX0Lx4g1PiCBjiMGSh0BGGmx4WugytAnWlT4PTUXKDfkBSDLCp0gBSksFWb6ABMoQ7zW4gU5VmBK1ChfWCoUvqAGS9AhFc175AWSp3Gj6ZgVpAFEtX8Ukl0pLNXRdBGttz90QBIA3uwHuZ+QFfSEvSVff4/ZOs8xERzoCbV5W/x3jz40EmFC7Ax5CgAAAABJRU5ErkJggg==\"","export const UpdateApprovalMatrix = async (formData: any, items: any) => {\r\n const data = {\r\n approvalMatrix: formData,\r\n approveMatrixItems: items.length > 0 ? items : null,\r\n };\r\n console.log(\"table=>UpdateApprovalMatrix\", data);\r\n\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\"api/ApprovalMatrix/updateApprovalMatrix\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateApprovalMatrixItems = async (items: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/ApprovalMatrix/updateApprovalMatrixItemsList\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(items),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAllApprovalMatrixItem = async () => {\r\n const respone = await fetch(\"api/ApprovalMatrix/GetAllApprovalMatrixItem\")\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return false;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport { UpdateApprovalMatrix } from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n matrixItems: any;\r\n setMatrixItems: (items: any) => void;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const ApprovalMatrixDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [mode, setMode] = useState(\"เพิ่มตามคน\");\r\n const [approvers, setApprovers] = useState([]);\r\n const [amountFrom, setAmountFrom] = useState(0);\r\n const [amountTo, setAmountTo] = useState(0);\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPositionLevel, setFormSelectedPositionLevel] =\r\n useState([]);\r\n const [itemAction, setItemAction] = useState(\"\");\r\n const [selectedItem, setSelectedItem] = useState();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n fecthPositionLevel();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.matrixItems !== undefined && props.matrixItems.length > 0) {\r\n if (dataEmployeeList) {\r\n let data = props.matrixItems.filter(\r\n (item: any) => item.ApproveMatrixId === props.formData.ApproveMatrixId\r\n );\r\n\r\n let items: any[] = [];\r\n data.map((e: any) => {\r\n if (e.IsActive) {\r\n if (\r\n e.ApproverId !== null &&\r\n e.ApproverId !== undefined &&\r\n e.ApproverId !== 0\r\n ) {\r\n const approver = dataEmployeeList.find((emp: any) => {\r\n return e.ApproverId === emp.EmployeeId;\r\n });\r\n if (approver) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = e.IsActive;\r\n item.Seq = e.Seq;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = e.EmployeeId;\r\n item.ApproverName = \"Not Found\";\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n } else if (e.PositionLevelId > 0) {\r\n const positionLv = positionLevelList.find((posi: any) => {\r\n return e.PositionLevelId == posi.PositionLevelId;\r\n });\r\n if (positionLv) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = positionLv.PositionLevelId;\r\n item.PositionLevelName =\r\n positionLv[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = -1;\r\n item.PositionLevelName = \"Not Found\";\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n }, [dataEmployeeList, positionLevelList]);\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => item.IsActive === true);\r\n newList.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n setItemsListShow([...newList]);\r\n setLoading(false);\r\n }, [itemsList]);\r\n\r\n async function fecthPositionLevel() {\r\n try {\r\n let positionLevel: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n\r\n setPositionLevelList([...positionLevel]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.ApproveMatrixId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n // const _itemsList: any[] = itemsList.sort((a: any, b: any) =>\r\n // sorterFunc(a, b, \"Seq\", \"dec\")\r\n // );\r\n // _itemsList.map((e: any, idx: number) => {\r\n // if (e.IsActive) {\r\n // e.Seq = idx + 1;\r\n // } else {\r\n // e.Seq = 999;\r\n // }\r\n // return e;\r\n // });\r\n\r\n let res: any = await UpdateApprovalMatrix(formData, itemsList);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n function AddItem() {\r\n try {\r\n if (amountFrom !== null && amountTo !== null) {\r\n if (amountTo > amountFrom) {\r\n let items: any[] = itemsList;\r\n if (mode === \"เพิ่มตามคน\") {\r\n if (approvers) {\r\n console.log(approvers);\r\n approvers.map((approver: any) => {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n });\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a approver.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n } else {\r\n if (\r\n formSelectedPositionLevel !== undefined &&\r\n formSelectedPositionLevel.length !== 0\r\n ) {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.PositionLevelId = formSelectedPositionLevel.PositionLevelId;\r\n item.PositionLevelName =\r\n formSelectedPositionLevel[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a position.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n }\r\n setItemsList([...items]);\r\n } else {\r\n confirmDialog({\r\n message: \"AmountTo must be greater than AmountFrom\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n setAmountTo(0);\r\n },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"Please insert a amount range.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n function resetSubDialog() {\r\n setAmountFrom(0);\r\n setAmountTo(0);\r\n setApprovers([]);\r\n setFormSelectedPositionLevel(undefined);\r\n }\r\n\r\n const onDeleteRow = (rowData: any) => {\r\n let selected: any = [...itemsList];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n rowData.IsActive = false;\r\n selected.map((e: any) => {\r\n if (e.seq === rowData.seq) {\r\n e = rowData;\r\n }\r\n });\r\n\r\n setItemsList([...selected]);\r\n },\r\n });\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n {\r\n setItemAction(\"add\");\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let value = e.value;\r\n for (let i = 0; i < value?.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n value[i].Seq = a;\r\n }\r\n field.onChange(value);\r\n setItemsListShow(value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n let data = e.value;\r\n data.map((data: any, idx: number) => {\r\n data.Seq = idx + 1;\r\n });\r\n setItemsList(data);\r\n }}\r\n loading={loading}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountFrom\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountTo\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n <>\r\n
{rowData[\"ApproverName\"]}
\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 body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n setAmountFrom(Number(rowData.AmountFrom));\r\n setAmountTo(Number(rowData.AmountTo));\r\n setSelectedItem(rowData);\r\n setItemAction(\"edit\");\r\n const _approver = dataEmployeeList.find(\r\n (e: any) =>\r\n e.EmployeeId === rowData?.ApproverId\r\n );\r\n const _pos = positionLevelList.find(\r\n (e: any) =>\r\n e.PositionLevelId ===\r\n rowData?.PositionLevelId\r\n );\r\n if (_approver) {\r\n setMode(\"เพิ่มตามคน\");\r\n setApprovers(_approver);\r\n } else if (_pos) {\r\n setMode(\"ตามลำดับการอนุมัติสูงสุด\");\r\n setFormSelectedPositionLevel(_pos);\r\n } else {\r\n setMode(\"เพิ่มตามคน\");\r\n }\r\n setAction(\"edit\");\r\n setSubDialogVisible(true);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={false}\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountFrom(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountTo(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\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 setFormSelectedPositionLevel(undefined);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"เพิ่มตามคน\"}\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 setApprovers([]);\r\n setMode(e.value);\r\n }}\r\n checked={mode === \"ตามลำดับการอนุมัติสูงสุด\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mode == \"เพิ่มตามคน\" ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\")\r\n : userData.Lang === \"EN\"\r\n ? approvers.NameEn\r\n : approvers.NameTh,\r\n ]}\r\n onClick={() => setSubDialogVisible2(true)}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n height: \"38px\",\r\n }}\r\n readOnly\r\n />\r\n {\r\n setApprovers([]);\r\n setSubDialogVisible2(true);\r\n }}\r\n />\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n

\r\n \r\n \r\n \r\n
\r\n \r\n setFormSelectedPositionLevel(e.value)\r\n }\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n AddItem()}\r\n >\r\n \r\n Add\r\n \r\n
\r\n \r\n {\r\n let _approvers: any[] = approvers;\r\n _approvers.push(data);\r\n setApprovers([..._approvers]);\r\n setSubDialogVisible2(false);\r\n setLoading(false);\r\n }}\r\n mutiable\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible2}\r\n setDialogVisible={setSubDialogVisible2}\r\n />\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { AddCompany } from \"../../../Services/CompanyService\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const CompanyDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n if (uploadFile !== undefined) {\r\n formData.UrlLogo = uploadFile;\r\n }\r\n\r\n let res: any = await updateDynamic(\"MasterCompany\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `${error}`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\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 {getFormErrorMessage(\"CompanyCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Tel\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(undefined);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {props.formData.UrlLogo !== \"\" && (\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 field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./DepartmentDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport {\r\n GetDepartment,\r\n UpdateDepartment,\r\n} from \"../../../Services/DepartmentService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DepartmentDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [comCode, setSelectComCode] = useState();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n\r\n setLoading(false);\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fecthCompany = async () => {\r\n if (!masterCompany) {\r\n const company = await GetAllDynamic(\"MasterCompany/GetAll\", undefined);\r\n if (company) {\r\n setSelectComCode(\r\n company?.find((e: any) => {\r\n if (e.CompanyCode === props.formData.CompanyCode) {\r\n return e;\r\n }\r\n })\r\n );\r\n control._formValues[\"CompanyCode\"] = company.find(\r\n (e: any) => e.CompanyCode === props.formData.CompanyCode\r\n );\r\n setValue(\"CompanyCode\", control._formValues[\"CompanyCode\"]);\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"table=>data\", data);\r\n\r\n if (action === \"add\") {\r\n formData.DepartmentId = 0;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let result = await UpdateDepartment(formData);\r\n console.log(\"table=>formData\", formData);\r\n\r\n if (result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${result.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n console.log(\"table=>error\", error);\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DepartmentCode\")}\r\n \r\n \r\n \r\n \r\n \r\n e.CompanyCode === props.formData.CompanyCode\r\n // )}\r\n render={({ field }) => (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DivisionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId !== undefined) {\r\n roles?.map((e: any) => {\r\n if (e.RolesId === props.formData.RolesId) {\r\n setFormSelectedRole(e);\r\n }\r\n });\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.DivisionId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"Division\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\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 {getFormErrorMessage(\"DivisionCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\nimport {\r\n UpdateApprovalMatrix,\r\n UpdateApprovalMatrixItems,\r\n} from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const MasterDataDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.MasterId = -1;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"MasterData\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: res.errorMessage,\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: error,\r\n life: 3000,\r\n });\r\n }\r\n };\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n return (\r\n
\r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\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 {getFormErrorMessage(\"MasterType\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { isArray } from \"util\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\nexport const MenuDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n // shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n console.log(\"My\", parseInt(props.formData.OrderGroup));\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId) {\r\n let allRoles: string[] = props.formData.RolesId.split(\",\");\r\n const defaultVal = roles?.filter((e: any) => {\r\n if (allRoles.includes(e.RoleId.toString())) {\r\n return e;\r\n }\r\n });\r\n console.log(\"role=>defaultVal\", defaultVal);\r\n\r\n setFormSelectedRole([...defaultVal]);\r\n\r\n console.log(\"table=>props.formData.RolesId\", props.formData.RolesId);\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n console.log(data, \"data\");\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"role=>\", formSelectedRole);\r\n let _rolesId: number[] = [];\r\n if (formSelectedRole) {\r\n formSelectedRole.forEach((role: any) => {\r\n _rolesId.push(role.RoleId);\r\n });\r\n }\r\n if (action === \"add\") {\r\n formData.AuMenuId = 0;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"AuthorizedMenu\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\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 {getFormErrorMessage(\"GroupMenu\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n console.log(\r\n \"defaultValue\",\r\n typeof props.formData.OrderGroup\r\n );\r\n }}\r\n >\r\n (\r\n {\r\n // console.log(e.currentTarget);\r\n // }}\r\n // type=\"number\"\r\n inputId=\"integeronly\"\r\n id={field.name}\r\n {...field}\r\n // min={0}\r\n onChange={(e) => {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n // setValue1(e.value)} />\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderGroup\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderSub\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setFormSelectedRole(e.value)}\r\n showClear={!isEmptyObject(formSelectedRole)}\r\n />\r\n )}\r\n />\r\n {/* {getFormErrorMessage(\"PositionId\")} */}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\n\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const PositionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n setValue,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPosition, setFormSelectedPosition] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [selectComCode, setSelectComCode] = useState();\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fecthCompany() {\r\n const company = await GetAllDynamic(\r\n \"MasterCompany/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (company) {\r\n company.map((e: any) => {\r\n if (e.CompanyCode === props.formData?.CompanyCode) {\r\n if (control._fields.CompanyCode !== undefined) {\r\n control._fields.CompanyCode._f.value = e;\r\n control._formValues.CompanyCode = e;\r\n }\r\n setSelectComCode({ ...e });\r\n }\r\n });\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n\r\n async function fecthPositionLevel() {\r\n const data = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (data) {\r\n data.map((e: any) => {\r\n if (e.PositionLevelId === props.formData?.PositionLevelId) {\r\n if (control._fields.PositionLevel !== undefined) {\r\n control._fields.PositionLevel._f.value = e;\r\n control._formValues.PositionLevel = e;\r\n }\r\n setFormSelectedPosition({ ...e });\r\n }\r\n });\r\n setPositionLevelList([...data]);\r\n }\r\n }\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.PositionId = 0;\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"Position\", formData);\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (\r\n !subDialogVisible &&\r\n !subDialogVisible2 &&\r\n props.mainDialogVisible &&\r\n !isEmptyObject(formSelectedPosition)\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n {!selectComCode ? getFormErrorMessage(\"CompanyCode\") : null}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setFormSelectedPosition(e.value);\r\n }}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n placeholder=\"Select a PositionLevel\"\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n />\r\n )}\r\n />\r\n {!formSelectedPosition\r\n ? getFormErrorMessage(\"PositionLevel\")\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","export const UpdateRole = async (formData: any, items: any) => {\r\n const data = {\r\n role: formData,\r\n formRoleEmployee: items,\r\n };\r\n const respone = await fetch(\"api/Roles/UpdateRole\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRolePermission = async () => {\r\n const respone = await fetch(\"api/Roles/GetRolePermission\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetPermissionByEmpId = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Roles/GetPermissionByEmpId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetRolePermission, UpdateRole } from \"../../../Services/RoleServices\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const RoleDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n fetchRoleItem();\r\n }, [dataEmployeeList]);\r\n\r\n async function fetchRoleItem() {\r\n let permissions = await GetRolePermission();\r\n let items: any[] = [];\r\n if (permissions) {\r\n let thisPermis = permissions.filter(\r\n (permis: any) =>\r\n permis.RoleId === props.formData.RoleId && !permis.IsDelete\r\n );\r\n\r\n thisPermis.map((permis: any, idx: number) => {\r\n let object: any = {};\r\n object.RoleId = permis.RoleId;\r\n object.EmployeeId = permis.EmployeeId;\r\n object.EmployeeCode = null;\r\n object.NameThRole = null;\r\n object.NameEnRole = null;\r\n object.Email = null;\r\n object.NameThEmployee = null;\r\n object.NameEnEmployee = null;\r\n object.IsActive = true;\r\n object.IsDelete = permis.IsDelete === null ? false : permis.IsDelete;\r\n object.Seq = idx + 1;\r\n items.push(object);\r\n });\r\n\r\n items.map((item: any) => {\r\n dataEmployeeList.map((emp: any) => {\r\n if (item.EmployeeId === emp.EmployeeId) {\r\n item.EmployeeId = emp.EmployeeId;\r\n item.EmployeeCode = emp.EmployeeCode;\r\n item.NameThEmployee = emp.NameTh;\r\n item.NameEnEmployee = emp.NameEn;\r\n item.Email = emp.Email;\r\n }\r\n });\r\n item.NameThRole = props.formData.NameTh;\r\n item.NameEnRole = props.formData.NameEn;\r\n });\r\n setSearchData([\r\n ...dataEmployeeList.filter(\r\n (data: any) =>\r\n !items.find(\r\n ({ EmployeeId, IsDelete }) =>\r\n data.EmployeeId === EmployeeId && !IsDelete\r\n )\r\n ),\r\n ]);\r\n console.log(\"role=>items\", items);\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, empId: string) => {\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n data.map((e: any) => {\r\n if (e[\"EmployeeId\"] === empId) {\r\n e.IsActive = false;\r\n e.IsDelete = true;\r\n }\r\n });\r\n setData([...data]);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => !item.IsDelete);\r\n setItemsListShow([...newList]);\r\n }, [itemsList]);\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.RoleId = -1;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.RoleId = props.formData.RoleId;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await UpdateRole(formData, itemsList);\r\n if (itemsList > 0) {\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } else {\r\n if (res) {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"roles=>error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n props.toggleMainDialog(false, \"close\");\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n closable={false}\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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let items: any[] = e.value;\r\n items.map((item: any, idx: number) => {\r\n item.Seq = idx + 1;\r\n });\r\n\r\n field.onChange([...items]);\r\n setItemsList([...items]);\r\n }}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >
\r\n \r\n \r\n

Name Thai

\r\n

ชื่อภาษาไทย

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name English

\r\n

ชื่อภาษาอังกฤษ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

E-mail

\r\n

อีเมล

\r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n itemsList,\r\n setItemsList,\r\n rowData[\"EmployeeId\"]\r\n );\r\n }}\r\n >\r\n \"logo\"\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 reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n {\r\n let item = data;\r\n if (data !== undefined) {\r\n setSearchData([\r\n ...searchData.filter(\r\n (emp: any) => emp.EmployeeId !== item.EmployeeId\r\n ),\r\n ]);\r\n }\r\n let itemsShow: any[] = itemsList;\r\n let object: any = {};\r\n object.RoleId = action === \"add\" ? -1 : props.formData.RoleId;\r\n object.EmployeeId = item.EmployeeId;\r\n object.EmployeeCode = item.EmployeeCode;\r\n object.NameThRole = action === \"add\" ? \"\" : props.formData.NameTh;\r\n object.NameEnRole = action === \"add\" ? \"\" : props.formData.NameEn;\r\n object.Email = item.Email;\r\n object.NameThEmployee = item.NameTh;\r\n object.NameEnEmployee = item.NameEn;\r\n object.IsActive = true;\r\n object.IsDelete = false;\r\n object.Seq = itemsShow.length;\r\n itemsShow.push(object);\r\n\r\n setItemsList([...itemsShow]);\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport \"./DropdownComponents.css\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {\r\n apiName?: string;\r\n valueProps?: any;\r\n optionsProps?: any;\r\n optionLabelProps?: any;\r\n placeholderProps?: any;\r\n onChangeProps?: any;\r\n styleProps?: any;\r\n keyProps?: any;\r\n disable?: any;\r\n filterProps?: boolean;\r\n validationProps?: boolean;\r\n}\r\n\r\nexport const DropdownComponents = (props: Props) => {\r\n const [selectValue, setSelectValue] = useState();\r\n const [obtions, setObtions] = useState([]);\r\n const [style, setstyle] = useState({});\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n } else {\r\n setObtions(props.optionsProps);\r\n }\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"props.optionsProps=\", props.optionsProps);\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n if (props.styleProps !== undefined) {\r\n setstyle(props.styleProps);\r\n }\r\n }, [props.styleProps]);\r\n\r\n useEffect(() => {\r\n if (obtions !== undefined) {\r\n if (props.keyProps === undefined) {\r\n obtions.map((data: any) => {\r\n if (data[props.apiName + \"Id\"] === props.valueProps.value) {\r\n setSelectValue(data);\r\n }\r\n });\r\n }\r\n }\r\n }, [obtions]);\r\n\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n }\r\n }, [props.apiName]);\r\n\r\n useEffect(() => {\r\n setSelectValue(null);\r\n }, [props.disable]);\r\n\r\n useEffect(() => {\r\n if (props.apiName != undefined) {\r\n props.onChangeProps(props.apiName, selectValue);\r\n } else if (props.keyProps !== undefined) {\r\n props.onChangeProps(selectValue, props.keyProps);\r\n } else {\r\n props.onChangeProps(selectValue);\r\n }\r\n }, [selectValue]);\r\n\r\n async function fecthData() {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName + \"/GetAll\",\r\n undefined\r\n );\r\n if (_dataDynamic !== false) {\r\n setObtions(_dataDynamic);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setSelectValue(e.target.value);\r\n }}\r\n style={{\r\n width: style.width !== undefined ? style.width : \"100%\",\r\n borderRadius:\r\n style.borderRadius !== undefined\r\n ? style.borderRadius\r\n : \"6px 6px 6px 6px\",\r\n ...style,\r\n borderColor: props.validationProps === true ? \"red\" : \"\",\r\n }}\r\n filter={props.filterProps === undefined ? false : props.filterProps}\r\n panelClassName=\"background-p-highlight\"\r\n />\r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\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 \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"edit\") {\r\n formData = copyFormdata;\r\n formData[\"CreatedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n console.log(formData);\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n props.apiName.replace(\" \", \"\") + \"/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\ninterface Props {\r\n dialogName: string;\r\n titleHeaderProp?: string;\r\n visibleDialogProp?: boolean;\r\n setVisibleDialogProp?: any;\r\n visibleConfirmProp?: boolean;\r\n setVisibleConfirmProp?: any;\r\n checkActionProp?: string;\r\n formDataProp?: any;\r\n dataListProp?: any;\r\n setDataListProp?: any;\r\n matrixItems: any;\r\n tableColumn: any;\r\n setMatrixItems: (items: any) => void;\r\n toastShowSuccessProp: () => void;\r\n toastShowErrorProp: () => void;\r\n messageButtonDialogProp?: string;\r\n setOnLoading?: (bool: boolean) => void;\r\n setCanTableAction: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DialogList = (props: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"NavbarMenu\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n // RoleDialog\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(props.dialogName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport moment from \"moment\";\r\nimport \"../Table.css\";\r\nimport \"primereact/resources/themes/saga-blue/theme.css\";\r\nimport \"primereact/resources/primereact.min.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { DialogList } from \"./DialogList\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport {\r\n AutoComplete,\r\n AutoCompleteCompleteMethodParams,\r\n} from \"primereact/autocomplete\";\r\nimport {\r\n GetTemplateTemplateList,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n tableName: string;\r\n apiName?: string;\r\n actionBody?: any;\r\n requestBody?: any;\r\n canExport?: boolean;\r\n canAction?: boolean;\r\n canReorderColumn?: boolean;\r\n rowClickFunc?: any;\r\n rowHover?: boolean;\r\n rowPointer?: boolean;\r\n onLoading?: boolean;\r\n setOnLoading?: (bool: boolean) => void;\r\n setItemsCount?: (num: number) => void;\r\n data?: any;\r\n visibleDialogAddProps?: any;\r\n isEditProps?: any;\r\n isDeleteProps?: any;\r\n displayFormDialog?: any;\r\n setDisplayFormDialog?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DynamicTable = (props: Props) => {\r\n let today = new Date();\r\n let month = today.getMonth();\r\n let year = today.getFullYear();\r\n let prevMonth = month === 0 ? 11 : month - 1;\r\n let prevYear = prevMonth === 11 ? year - 1 : year;\r\n let nextMonth = month === 11 ? 0 : month + 1;\r\n let nextYear = nextMonth === 0 ? year + 1 : year;\r\n let minDate = new Date();\r\n const toast = useRef(null);\r\n minDate.setMonth(prevMonth);\r\n minDate.setFullYear(prevYear);\r\n let maxDate = new Date();\r\n maxDate.setMonth(nextMonth);\r\n maxDate.setFullYear(nextYear);\r\n const history = useHistory();\r\n const { toggleAlert } = useAlert();\r\n const [dataDynamicTable, setDataDynamicTable] = useState([]);\r\n const [showdataDynamicTable, setShowDataDynamicTable] = useState([]);\r\n const [exportData, setExportData] = useState([]);\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [clearFilter, setClearFilter] = useState(false);\r\n const [filters2, setFilters2] = useState();\r\n const [showClearDate, setshowClearDatel] = useState(false);\r\n const [titleHead, setTitleHead] = useState(\"\");\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const [messageButtonDialog, setMessageButtonDialog] = useState(\"\");\r\n const [visibleConfirm, setVisibleConfirm] = useState(false);\r\n const [canReoderColumn, setCanReoderColumn] = useState(false);\r\n const [reportFileName, setReportFileName] = useState();\r\n const [colletionField, setColletionField] = useState();\r\n const [canTableAction, setCanTableAction] = useState(props.canAction);\r\n const [matrixItems, setMatrixItems] = useState([]);\r\n const [columns, setColumns] = useState([]);\r\n const [selectData, setSelectData] = useState([]);\r\n const [filteredData, setFilteredData] = useState();\r\n const userData2 = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [userData] = useUserContext();\r\n\r\n const dt = useRef(null);\r\n\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n }, []);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n fetchData();\r\n }, [props.apiName, props.data]);\r\n\r\n useEffect(() => {\r\n if (props.visibleDialogAddProps) {\r\n if (\r\n props.visibleDialogAddProps === false &&\r\n props.apiName === \"DynamicReport/GetAll\" &&\r\n props.isEditProps !== true\r\n ) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.visibleDialogAddProps]);\r\n\r\n useEffect(() => {\r\n if (props.isDeleteProps !== undefined) {\r\n if (props.isDeleteProps) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.isDeleteProps]);\r\n\r\n useEffect(() => {\r\n if (!props?.displayFormDialog) {\r\n setDataEdit({});\r\n }\r\n }, [props?.displayFormDialog]);\r\n\r\n useEffect(() => {\r\n if (dataDynamicTable) {\r\n try {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n if (dataDynamicTable.length > 0) {\r\n if (dataDynamicTable[0] !== \"\") {\r\n dataDynamicTable.map((e: any, idx: number) => {\r\n e.rowIdx = idx;\r\n });\r\n setShowDataDynamicTable([...dataDynamicTable]);\r\n } else {\r\n setShowDataDynamicTable([]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n }, [dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n if (showdataDynamicTable) {\r\n setTimeout(() => {\r\n toggleLoading(false);\r\n }, 3000);\r\n }\r\n }, [showdataDynamicTable]);\r\n\r\n function toggleLoading(isload: boolean) {\r\n if (props.setOnLoading !== undefined) {\r\n props.setOnLoading(isload);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n var items_label = document.getElementsByClassName(\r\n \"p-multiselect-items-label\"\r\n );\r\n\r\n if (items_label.length > 0) {\r\n items_label[0].innerHTML = items_label[0].innerHTML.replace(\r\n \"items\",\r\n \"columns\"\r\n );\r\n }\r\n }, [selectedColumns]);\r\n\r\n // useEffect(() => {\r\n // try {\r\n // setShowDataDynamicTable([...dataDynamicTable]);\r\n // } catch (error) {}\r\n // }, [exportData, dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n try {\r\n setClearFilter(false);\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(showdataDynamicTable.length);\r\n }\r\n } catch (error) {}\r\n }, [showdataDynamicTable]);\r\n\r\n function getColumns() {\r\n if (dataDynamicTable !== undefined) {\r\n let arrayDataColumn: any[] = [];\r\n if (colletionField !== undefined) {\r\n colletionField.map((collection: any, idx: number) => {\r\n if (collection.isChecked > 0) {\r\n arrayDataColumn.push({\r\n field: collection.key,\r\n header: collection.dispalyLebelAndAlter,\r\n alter: collection.alter,\r\n fieldTypeFilterDynamic: collection.FieldTypeFilterDynamic,\r\n seq: idx,\r\n });\r\n }\r\n });\r\n } else {\r\n Object.keys(\r\n dataDynamicTable[0] != undefined || dataDynamicTable[0] != null\r\n ? dataDynamicTable[0]\r\n : (dataDynamicTable[0] = \"\")\r\n ).map((key: any, idx: number) => {\r\n if (\r\n props.tableName === \"Delegate List\" ||\r\n props.tableName === \"Template List\"\r\n ) {\r\n if (key !== \"ModifiedDate\" && key !== \"IsActive\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n } else {\r\n if (key !== \"Memo_MAdvancveForm\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n setColumns(arrayDataColumn);\r\n setSelectedColumns(arrayDataColumn);\r\n }\r\n }\r\n\r\n function setDefSelected() {\r\n let options: any = [];\r\n columns.map((e: any) => {\r\n if (e.field !== \"Memo_MAdvancveForm\" && !e.field.includes(\"Id\")) {\r\n options.push(e);\r\n }\r\n });\r\n\r\n setSelectedColumns(options);\r\n }\r\n\r\n const fetchData = async () => {\r\n try {\r\n toggleLoading(true);\r\n\r\n let requestBody = undefined;\r\n setDataDynamicTable([]);\r\n setFilters2(null);\r\n\r\n if (props.requestBody != undefined) {\r\n requestBody = props.requestBody;\r\n }\r\n if (props.canReorderColumn != undefined) {\r\n setCanReoderColumn(props.canReorderColumn);\r\n }\r\n\r\n let _dataDynamic;\r\n if (props.data !== undefined) {\r\n _dataDynamic = props.data;\r\n } else if (props.apiName !== undefined) {\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n requestBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: userData.EmployeeId.toString(),\r\n DepartmentId: userData.DepartmentId,\r\n Username: userData.Username,\r\n }),\r\n };\r\n }\r\n _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n\r\n if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n let matrixItem = await GetAllApprovalMatrixItem();\r\n if (matrixItem) {\r\n setMatrixItems([\r\n ...matrixItem.filter((e: any) => e.IsActive === true),\r\n ]);\r\n }\r\n }\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n _dataDynamic = _dataDynamic.filter((e: any) => e.IsActive === true);\r\n }\r\n // if (props.apiName === \"TemplateList/GetAll\") {\r\n // const dataJson = {\r\n // CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n // DepartmentId: userData.employeeData.DepartmentId,\r\n // };\r\n // console.log(\"table=>props.apiName\", props.apiName);\r\n // _dataDynamic = await GetTemplateTemplateListVersion(dataJson);\r\n // } else {\r\n // _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n // if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n // let matrixItem = await GetAllApprovalMatrixItem();\r\n // if (matrixItem) {\r\n // setMatrixItems([\r\n // ...matrixItem.filter((e) => e.IsActive === true),\r\n // ]);\r\n // }\r\n // }\r\n // }\r\n }\r\n if (_dataDynamic !== undefined && _dataDynamic) {\r\n let myData: any = [];\r\n let newData: any = [];\r\n\r\n if (_dataDynamic.FieldCollection !== undefined) {\r\n setColletionField(JSON.parse(_dataDynamic.FieldCollection));\r\n }\r\n if (_dataDynamic.dt_Report === undefined) {\r\n myData = _dataDynamic[0];\r\n newData = _dataDynamic;\r\n } else {\r\n myData = _dataDynamic.dt_Report[0];\r\n newData = _dataDynamic.dt_Report;\r\n }\r\n\r\n let filters2: any = {};\r\n if (myData != undefined) {\r\n for (const [key, value] of Object.entries(myData)) {\r\n try {\r\n if (typeof value === \"number\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.EQUALS,\r\n };\r\n } else if (key.toLowerCase().includes(\"date\")) {\r\n if (key === \"DateFrom\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_AFTER,\r\n };\r\n } else if (key === \"DateTo\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_BEFORE,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.BETWEEN,\r\n };\r\n }\r\n } else if (key.toLowerCase().includes(\"action\")) {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_IS,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.CONTAINS,\r\n };\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n\r\n newData.map((e: any) => {\r\n Object.keys(newData[0]).map((key) => {\r\n if (\r\n key === \"ModifiedDate\" ||\r\n key.toLocaleLowerCase().includes(\"date\") ||\r\n key.includes(\"วันที่\")\r\n ) {\r\n if (e[key] !== null) {\r\n return (e[key] = new Date(e[key]));\r\n }\r\n } else if (\r\n typeof e[key] === \"number\" &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"modifiedby\") &&\r\n !key.toLowerCase().includes(\"createdby\")\r\n ) {\r\n e[key] = Number(e[key]);\r\n }\r\n });\r\n });\r\n\r\n if (_dataDynamic.ReportName != undefined) {\r\n setReportFileName(_dataDynamic.ReportName);\r\n }\r\n\r\n setFilters2(filters2);\r\n if (newData.length > 0) {\r\n setDataDynamicTable([...newData]);\r\n setExportData([...newData]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"DynamicTable=>Error\", error);\r\n toggleLoading(false);\r\n }\r\n };\r\n\r\n const formatIsActive = (value: any) => {\r\n if (value == null) {\r\n return false;\r\n }\r\n return value.toString();\r\n };\r\n\r\n const statusItemTemplate = (option: any) => {\r\n return {option};\r\n };\r\n const statusRowFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n option.filterApplyCallback(e.value)}\r\n itemTemplate={statusItemTemplate}\r\n placeholder={\"Search \" + label}\r\n className=\"p-column-filter\"\r\n showClear\r\n />\r\n );\r\n };\r\n\r\n const monthNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const dateFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n {\r\n setshowClearDatel(true);\r\n\r\n option.filterApplyCallback(e.value);\r\n }}\r\n monthNavigator\r\n yearNavigator\r\n yearRange={1980 + \":\" + 2050}\r\n monthNavigatorTemplate={monthNavigatorTemplate}\r\n yearNavigatorTemplate={yearNavigatorTemplate}\r\n selectionMode=\"range\"\r\n readOnlyInput\r\n dateFormat=\"dd M yy\"\r\n />\r\n );\r\n };\r\n\r\n const normalFilterTemplate = (option: any, label: string) => {\r\n try {\r\n if (clearFilter) {\r\n option.value = \"\";\r\n option.filterApplyCallback(null);\r\n }\r\n if (option.filterModel.matchMode) {\r\n if (option.filterModel.matchMode === \"equals\") {\r\n return (\r\n option.filterApplyCallback(e.target.value)}\r\n mode=\"decimal\"\r\n minFractionDigits={label !== \"PositionLevel\" ? 2 : 0}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n setTimeout(() => {\r\n let datas: any[];\r\n if (!e.query.trim().length) {\r\n datas = [...dataDynamicTable];\r\n } else {\r\n datas = dataDynamicTable.filter((c: any) => {\r\n return c[option.field]\r\n ?.toLowerCase()\r\n .startsWith(e.query.toLowerCase());\r\n });\r\n }\r\n datas = getUnique(datas, option.field);\r\n setFilteredData([...datas]);\r\n }, 250);\r\n }}\r\n onSelect={(e) => {\r\n option.filterApplyCallback(e.value[option.field]);\r\n }}\r\n field={option.field}\r\n onChange={(e) => {\r\n option.filterApplyCallback(e.value);\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function getUnique(array: any[], key) {\r\n if (typeof key !== \"function\") {\r\n const property = key;\r\n key = function (item) {\r\n return item[property];\r\n };\r\n }\r\n return Array.from(\r\n array\r\n .reduce(function (map, item) {\r\n const k = key(item);\r\n if (!map.has(k)) map.set(k, item);\r\n return map;\r\n }, new Map())\r\n .values()\r\n );\r\n }\r\n\r\n const onColReorder = (colOrder: any) => {\r\n colOrder.columns.map((col: any, idx: number) => {\r\n selectedColumns.map((selCol: any) => {\r\n if (selCol.field === col.props.field) {\r\n selCol.seq = idx;\r\n }\r\n });\r\n });\r\n setSelectedColumns([\r\n ...selectedColumns.sort((a: any, b: any) => (a.seq > b.seq ? 1 : -1)),\r\n ]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n\r\n exportData.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.header] = data[col.field]?.toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n }\r\n );\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.field.toLowerCase().includes(\"date\")\r\n ) {\r\n if (col.header.toLowerCase().includes(\"action\")) {\r\n let newDate = data[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n }\r\n } else {\r\n let newDate = formatDate(data[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n let someDateString = moment(data[col.field], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n newDate = moment(data[col.field]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n dataField[col.header] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n dataField[col.header] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataExport.push(dataField);\r\n });\r\n return dataExport;\r\n } catch (error) {}\r\n }\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataDynamicTable.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.field] = data[col.field];\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.header.toLowerCase().includes(\"date\")\r\n ) {\r\n if (data[col.field] !== null && data[col.field] !== \"\") {\r\n dataField[col.field] = new Date(data[col.field]);\r\n }\r\n } else {\r\n dataField[col.field] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {}\r\n }\r\n\r\n const actionLinkIReport = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n const memoid = { MemoID: rowData.Memo_MemoId };\r\n window.open(`/Request?MemoID=${rowData.Memo_MemoId}`, \"blank\");\r\n // history.push(`/Request?MemoID=${rowData.Memo_MemoId}`, memoid);\r\n }}\r\n >\r\n \r\n {rowData.Memo_DocumentNo}\r\n \r\n

\r\n \r\n );\r\n };\r\n\r\n const dynamicColumns = selectedColumns.map((col: any) => {\r\n try {\r\n if (\r\n !col.field.includes(\"Form\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\"\r\n ) {\r\n if (\r\n col.field.toLowerCase().includes(\"isactive\") ||\r\n col.field.toLowerCase().includes(\"ispublic\") ||\r\n col.field.toLowerCase().includes(\"isprivate\") ||\r\n col.field.toLowerCase().includes(\"InternalUrl\")\r\n ) {\r\n return (\r\n {\r\n try {\r\n return formatIsActive(rowData[col.field]);\r\n } catch (error) {}\r\n }}\r\n header={\r\n
\r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n
\r\n }\r\n sortable\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n statusRowFilterTemplate(option, col.header)\r\n }\r\n filterHeaderClassName={\"gggg\"}\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n col.field.includes(\"Date\") ||\r\n col.field.includes(\"วันที่\") ||\r\n col.fieldTypeFilterDynamic === \"d\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n if (col.field.toLowerCase().includes(\"action\")) {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = rowData[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n return newDate;\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n } else {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = formatDate(rowData[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n let someDateString = moment(\r\n rowData[col.field],\r\n \"MM/DD/YYYY\"\r\n );\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n newDate = moment(rowData[col.field]).format(\r\n \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n }\r\n } catch (error) {}\r\n }}\r\n sortable\r\n dataType=\"date\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n dateFilterTemplate(option, col.header)\r\n }\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n (!col.field.includes(\"Id\") &&\r\n col.dataType === \"number\" &&\r\n col.header !== \"PositionLevel\") ||\r\n col.fieldTypeFilterDynamic === \"c\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n bodyClassName={\"number-style\"}\r\n body={(rowData: any) => {\r\n try {\r\n if (rowData[col.field] !== null) {\r\n return rowData[col.field]?.toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n });\r\n }\r\n } catch {}\r\n }}\r\n sortable\r\n dataType=\"numeric\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (col.field.includes(\"AmountFrom_AmountTo\")) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === rowData.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n data.sort((a, b) => (a.Seq > b.Seq ? 1 : -1));\r\n let dd = data.map((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

{subStr}

;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

......

;\r\n }\r\n });\r\n\r\n rowData.AmountFrom_AmountTo = mainStr;\r\n return dd;\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (\r\n !col.field.includes(\"Id\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\" &&\r\n col.field !== \"SignPicPath\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n if (typeof rowData[col.field] === \"string\") {\r\n let data: string = rowData[col.field];\r\n if (data.includes(\"base64\")) {\r\n var image = new Image();\r\n image.src = data;\r\n return ;\r\n } else {\r\n return col.field == \"Memo_DocumentNo\"\r\n ? actionLinkIReport(rowData)\r\n : rowData[col.field];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(\"table=>ex\", ex);\r\n }\r\n });\r\n\r\n const toastShowSuccess = () => {\r\n toggleAlert({\r\n description: `Success!`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success !\",\r\n // life: 3000,\r\n // });\r\n };\r\n const toastShowError = () => {\r\n toggleAlert({\r\n description: `Error!`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Validation failed\",\r\n // });\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let selData: any[] = [];\r\n dataDynamicTable.map((e: any) => {\r\n if (e[selectedColumns[0].field] === rowData[selectedColumns[0].field]) {\r\n selData.push(e);\r\n }\r\n });\r\n return (\r\n \r\n {\r\n setDataEdit(selData[0]);\r\n setTitleHead(\"Edit Data / แก้ไขข้อมูล\");\r\n setMessageButtonDialog(\"Update Changes\");\r\n setCheckAction(\"edit\");\r\n if (props?.setDisplayFormDialog !== undefined) {\r\n props?.setDisplayFormDialog(!props?.displayFormDialog);\r\n }\r\n setVisibleConfirm(false);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columns.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n\r\n const exportXLSX = (selectionOnly: any) => {\r\n exportXLSX({ selectionOnly });\r\n };\r\n\r\n const exportExcel = () => {\r\n const excelData = reconStructionForExport();\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n saveAsExcelFile(excelBuffer, reportFileName + \" : \" + new Date());\r\n toggleLoading(false);\r\n });\r\n };\r\n\r\n const saveAsExcelFile = (buffer: any, fileName: any) => {\r\n import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n FileSaver.saveAs(\r\n data,\r\n fileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n );\r\n });\r\n };\r\n\r\n const yearNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n className=\"p-ml-2\"\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const renderHeader1 = () => {\r\n const selCol = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col = [...columns];\r\n let showCol: any[] = [];\r\n selCol.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setShowDataDynamicTable([...uniqueArray]);\r\n setClearFilter(true);\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"20em\" }}\r\n />\r\n
\r\n {props.canExport && (\r\n
\r\n {\r\n toggleLoading(true);\r\n exportExcel();\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n }}\r\n data-pr-tooltip=\"XLS\"\r\n />\r\n {/* */}\r\n {props.apiName !== \"DynamicReport/GetReportDetailById\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n Import From excel\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n };\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n if (toggleLoading != undefined) toggleLoading(true);\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = props.apiName?.replace(\"/GetAll\", \"\");\r\n\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n if (_importedData.length - 1 === i) {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName,\r\n undefined\r\n );\r\n\r\n setDataDynamicTable([..._dataDynamic]);\r\n if (toggleLoading !== undefined) {\r\n toggleLoading(false);\r\n }\r\n }\r\n } else {\r\n }\r\n }\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {}\r\n });\r\n } catch (error) {}\r\n };\r\n function onRowClick(rowData: any) {\r\n if (props.rowClickFunc != undefined) {\r\n props.rowClickFunc(rowData);\r\n }\r\n }\r\n\r\n const header1 = renderHeader1();\r\n\r\n function renderActionColumn() {\r\n if (props.canAction) {\r\n if (props.actionBody !== undefined) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n const rowClassName = () => {\r\n if (props.rowPointer) {\r\n return \"row-pointer\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!props.onLoading && (\r\n
\r\n setSelectData(e.value)}\r\n globalFilterFields={columns.map((e: any) => e.field)}\r\n rowsPerPageOptions={[10, 15, 20, 50, 100]}\r\n rowHover={props.rowHover}\r\n onValueChange={(e: any) => {\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(e.length);\r\n }\r\n setExportData(e);\r\n }}\r\n filters={filters2}\r\n filterDisplay=\"row\"\r\n paginatorTemplate=\"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} products\"\r\n responsiveLayout=\"scroll\"\r\n size=\"small\"\r\n >\r\n {dynamicColumns.length > 0 ? renderActionColumn() : null}\r\n {dynamicColumns}\r\n \r\n {visibleConfirm && props?.displayFormDialog == false && (\r\n \r\n )}\r\n {props?.displayFormDialog && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","export const GetAllTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const GetTemplateFromDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/GetTemplateFromDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateTemplateListVersion = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateeBindFormNameDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateTemplateList = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateListBindGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const SearchTemplateListEditing = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/SearchTemplateListEditing\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateListVersionHistory = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/TemplateList/GetTemplateListVersionHistory\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateByDocTypeCode = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByDocTypeCode\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"table=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetAllByCreateTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllByCreateTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const ReportTemplateList = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllReportTemplateList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateByIdDto = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByIdDto\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateControlById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateControlById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n console.log(\"ddddddddddddddsadasdasdas\", response);\r\n\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((error) => {\r\n return error;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const AddTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddTemplateAndVersion = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/SaveTemplateAndVersion\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const DeleteTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/DeleteTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const LoadLogic = async (template_id: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: template_id }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return dataLogic;\r\n};\r\n\r\nexport const ValidateRefTemplate = async (dataJson: any) => {\r\n const refValid = await fetch(\"api/TemplateList/ValidateRefTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return refValid;\r\n};","import React, { useState, useEffect } from \"react\";\r\nimport { Popover, Collapse } from \"antd\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { AiOutlineStar, AiFillStar } from \"react-icons/ai\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { IoAdd, IoChevronForward } from \"react-icons/io5\";\r\nimport { IoChevronDownSharp } from \"react-icons/io5\";\r\nimport \"./TreeSelectNewRequest.css\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateFromDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n setDataTemplateTreeProps?: any;\r\n}\r\n\r\nexport const TreeSelectNewRequest = (props: Props) => {\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n const [searchTemplate, setSearchTemplate] = useState([]);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [checkActionFavorite, setCheckActionFavorite] =\r\n useState(false);\r\n const [checkActionPanel, setCheckActionPanel] = useState(false);\r\n const [checkFilter, setCheckFilter] = useState(false);\r\n const [userData] = useUserContext();\r\n const { Panel } = Collapse;\r\n const cookies = new Cookies();\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n fetchDataTemplate();\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => window.removeEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n\r\n async function fetchDataTemplate() {\r\n try {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n\r\n let _dataTemplate = await GetTemplateFromDDL(dataJson);\r\n let _groupDataTemplate: any = [{ header: \"Favorite\", data: [] }];\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let groupTemplate = _dataTemplate?.reduce(function (r: any, a: any) {\r\n r[a.GroupTemplateName] = r[a.GroupTemplateName] || [];\r\n r[a.GroupTemplateName].push(a);\r\n return r;\r\n }, Object.create(null));\r\n const roles = await GetRolePermission();\r\n\r\n const keyDataTemplate = Object.entries(groupTemplate)\r\n keyDataTemplate.sort((a, b) => a[0].localeCompare(b[0]))\r\n groupTemplate = Object.fromEntries(keyDataTemplate)\r\n\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n for (let i = 0; i < _value.length; i++) {\r\n if (fav_cookie?.length > 0) {\r\n for (let k = 0; k < fav_cookie.length; k++) {\r\n if (\r\n fav_cookie[k]?.TemplateNameWithCode ===\r\n _value[i]?.TemplateNameWithCode\r\n ) {\r\n _value[i][\"favorite\"] = fav_cookie[k].favorite;\r\n _groupDataTemplate[0].data.push(_value[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n _groupDataTemplate.push({ header: key, data: _value });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n setSearchTemplate(_groupDataTemplate);\r\n } catch (error) {}\r\n }\r\n const onClickStar = (groupIdx: any, templateIdx: any, idx: number) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = searchTemplate;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (groupIdx === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode === templateIdx\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let checkUnClickStar: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (\r\n _groupDataTemplate[i].header === groupIdx &&\r\n _groupDataTemplate[i].header !== \"Favorite\"\r\n ) {\r\n for (let j = 0; j < fav_cookie.length; j++) {\r\n const element2 = fav_cookie[j];\r\n if (\r\n _groupDataTemplate[i].data[idx].TemplateId === element2.TemplateId\r\n ) {\r\n fav_cookie.splice(j, 1);\r\n checkUnClickStar = true;\r\n }\r\n }\r\n if (!checkUnClickStar) {\r\n fav_cookie.push(_groupDataTemplate[i].data[idx]);\r\n }\r\n }\r\n }\r\n let checkHasFavorite: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n const element = _groupDataTemplate[i];\r\n if (element.header === \"Favorite\") {\r\n checkHasFavorite = true;\r\n }\r\n }\r\n if (checkHasFavorite) {\r\n _groupDataTemplate[0].data.splice(\r\n 0,\r\n _groupDataTemplate[0].data.length,\r\n ...fav_cookie\r\n );\r\n } else {\r\n let _groupDataTemplate2: any = [{ header: \"Favorite\", data: [] }];\r\n _groupDataTemplate2[0].data = fav_cookie;\r\n console.log(fav_cookie, \"fav_cookieCheckHasFavorite\");\r\n console.log(_groupDataTemplate2, \"_groupDataTemplate2\");\r\n _groupDataTemplate.splice(0, 0, _groupDataTemplate2[0]);\r\n }\r\n\r\n window.localStorage.setItem(\"favorite\", JSON.stringify(fav_cookie));\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const onUnFavorite = (\r\n _groupTemplateName: any,\r\n _templateNameWithCode: any,\r\n idx: any\r\n ) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = groupDataTemplate;\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n for (let i = 0; i < _groupDataTemplate[0].data.length; i++) {\r\n _groupDataTemplate[0].data.splice(idx, 1);\r\n break;\r\n }\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (_groupTemplateName === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode ===\r\n _templateNameWithCode\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n window.localStorage.setItem(\r\n \"favorite\",\r\n JSON.stringify(_groupDataTemplate[0].data)\r\n );\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const mapContent = () => {\r\n try {\r\n let _groupTemplate: any = [];\r\n let activeDefault = [...Array(_groupTemplate?.length).keys()];\r\n let _searchTemplate = searchTemplate;\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n if (_searchTemplate[i].header !== \"Favorite\") {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel \"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n {_data.favorite ? (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n } else {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel\"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n\r\n \r\n onUnFavorite(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n }\r\n\r\n if (checkActionFavorite) {\r\n activeDefault = [0];\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n onFilterChange(e.target.value)}\r\n />\r\n \r\n
\r\n {checkFilter && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && !checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n
\r\n );\r\n } catch (error) {\r\n console.log(\"MapContent=>error\", error);\r\n }\r\n };\r\n const onFilterChange = (text: string) => {\r\n setCheckActionFavorite(false);\r\n if (groupDataTemplate) {\r\n if (groupDataTemplate.length > 0) {\r\n let _groupDataTemplate = groupDataTemplate;\r\n console.log(groupDataTemplate, \"groupDataTemplate\");\r\n\r\n if (!text) {\r\n setCheckFilter(false);\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || '[]';\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n setSearchTemplate([..._groupDataTemplate]);\r\n } else {\r\n setCheckFilter(true);\r\n }\r\n const _searchTemplate = _groupDataTemplate.filter(\r\n (_data: any, idx: any) => {\r\n if (_data.header === \"Favorite\") {\r\n return true;\r\n }\r\n for (let i = 0; i < _data.data.length; i++) {\r\n if (\r\n _data.data[i]?.TemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.data[i]?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.header?.toLowerCase().indexOf(text.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n }\r\n );\r\n const filteredList: any = [];\r\n\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n const filteredGroup = _searchTemplate[i];\r\n const filtered = filteredGroup.data.filter((_data: any, idx: any) => {\r\n if (\r\n _data?.TemplateName?.toLowerCase().indexOf(text.toLowerCase()) !==\r\n -1 ||\r\n _data?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data?.GroupTemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (filtered.length > 0) {\r\n filteredList.push({\r\n header: filteredGroup.header,\r\n data: filtered,\r\n });\r\n }\r\n }\r\n setSearchTemplate([...filteredList]);\r\n }\r\n }\r\n };\r\n const onVisibleChange = (visible: boolean) => {\r\n setIsOpen(visible);\r\n };\r\n return (\r\n \r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n\r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/LoadingWOLFmini.12fa1510.gif\";","import { Button } from \"primereact/button\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { DynamicTable } from \"../../components/TableComponents/Dynamic/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {}\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n};\r\n\r\nexport const DynamicReport = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n const text = \"Report Detail\";\r\n const apiName = \"DynamicReport/GetReportDetailById\";\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n }),\r\n };\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [imgLoading, setImgLoading] = useState(LogoLoading);\r\n const [data, setData] = useState();\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setOnLoading(false);\r\n }\r\n }, [data]);\r\n\r\n async function fetchData() {\r\n try {\r\n setOnLoading(true);\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(\r\n apiName,\r\n reportDetailBody\r\n );\r\n\r\n setData(_dataDynamic);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {reportName.replace(\"\\\\\", \"/\") + \"(\" + itemsCount + \")\"}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport React, { ReactElement } from \"react\";\r\nimport \"./AutoCompleteComponents.css\";\r\ninterface Props {\r\n valueProps?: any;\r\n suggestionsProps?: any;\r\n completeMethodProps?: any;\r\n fieldProps?: any;\r\n disabledProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n styleProps?: any;\r\n onKeyPress?: any;\r\n readOnlyprops?: any;\r\n notButton?: any;\r\n onBlur?: any;\r\n}\r\n\r\nexport default function AutoCompleteComponents(props: Props) {\r\n return (\r\n <>\r\n {\r\n if (props.onBlur) {\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n field={props.fieldProps}\r\n className={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n multiple\r\n panelClassName={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n disabled={props.disabledProps}\r\n readOnly={props.readOnlyprops}\r\n onChange={(e) => props.onChangeProps(e.value, props.keyProps, e)}\r\n onMouseDown={(e: any) => {\r\n console.log(\"e\", e);\r\n }}\r\n onKeyPress={(e: any) => {\r\n console.log(\"e.code\", e.code);\r\n\r\n if (e.code === \"Enter\") {\r\n if (props.onKeyPress !== undefined)\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n />\r\n \r\n );\r\n}\r\n","import React, { ReactElement } from \"react\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport \"./RadioButtonComponents.css\";\r\ninterface Props {\r\n inputIdProps: any;\r\n nameProps: any;\r\n valueProps: any;\r\n onChangeProps: any;\r\n checkedProps: any;\r\n keyProps: any;\r\n labelProps?: any;\r\n}\r\n\r\nexport const RadioButtonComponents = (props: Props) => {\r\n return (\r\n <>\r\n {\r\n console.log(\"report=>e\", e);\r\n props.onChangeProps(e.value, props.keyProps);\r\n }}\r\n checked={props.checkedProps}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport {\r\n AddReport,\r\n ReportListTemplateSelect,\r\n UpdateReport,\r\n} from \"../../../Services/ReportService\";\r\n\r\nimport \"./ReportDialog.css\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { RadioButtonComponents } from \"../../RadioButtonComponents/RadioButtonComponents\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { IReportModel } from \"../../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { GetTemplateById } from \"../../../Services/TemplateService\";\r\nimport { filterHash } from \"@fullcalendar/react\";\r\nimport { DatePicker, Spin } from \"antd\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\ninterface Props {\r\n visible: boolean;\r\n toggleDialog: any;\r\n templateDataProps?: any;\r\n checkSetProps?: any;\r\n checkProps?: any;\r\n editProps?: any;\r\n dataEditReportProps?: any;\r\n setEditReportProps?: any;\r\n setOnLoading: (bool: boolean) => void;\r\n}\r\nconst reportModelIReportModel: IReportModel = {\r\n ReportTemplateId: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nexport const ReportDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [templateKey, setTemplateKey] = useState([]);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateMulti, setTemplateMulti] = useState([]);\r\n\r\n const [templateFieldMulti, setTemplateFieldMulti] = useState([]);\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [roleData, setRoleData] = useState([]);\r\n const [radioButtonCheck, setRadioButtonCheck] = useState(false);\r\n const [radioButtonCheckToday, setRadioButtonCheckToday] =\r\n useState(false);\r\n const [radioButtonCheckFrom, setRadioButtonCheckFrom] = useState(false);\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [reportModel, setReportModel] = useState({});\r\n const [filterValueSelected, setFilterValueSelected] = useState([]);\r\n const [dropdownfilterValue, setDropdownfilterValue] = useState([]);\r\n const [group, setGroup] = useState([]);\r\n const [groupData, setGroupData] = useState([]);\r\n const [indexOrderBy, setIndexOrderBy] = useState([]);\r\n const [indexHideColumn, setIndexHideColumn] = useState([]);\r\n const [indexSortingBy, setIndexSortingBy] = useState([]);\r\n const [textHeader, setTextHeader] = useState(\"\");\r\n\r\n const [tableLoading, setTableLoading] = useState(true);\r\n\r\n const [templateMode, setTemplateMode] = useState({ Mode: \"Real Time\" });\r\n // const [disabledSave, setDisabledSave] = useState(true);\r\n\r\n const [validationForm, setValidationForm] = useState({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n RoleEmpValidation: false,\r\n RoleIdValidation: false,\r\n DisabledSave: true,\r\n });\r\n\r\n useEffect(() => {\r\n addTemplateKey();\r\n }, [props.templateDataProps, props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.dataEditReportProps && props.editProps === true) {\r\n editData();\r\n }\r\n }, [employee, roleData, props.dataEditReportProps]);\r\n\r\n useEffect(() => {\r\n _fechData();\r\n }, [props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.editProps === true) {\r\n setTextHeader(\"Edit Report / แก้ไขรายงาน\");\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreatedBy: props.dataEditReportProps.CreateBy,\r\n CreatedDate: props.dataEditReportProps.CreateDate,\r\n IsPrivate: props.dataEditReportProps.Isprivate,\r\n Mode: props.dataEditReportProps.Mode,\r\n ModifiedBy: props.dataEditReportProps.ModifiedBy,\r\n\r\n ReportDescription: props.dataEditReportProps.Reportdescription,\r\n ReportName: props.dataEditReportProps.Reportname,\r\n ReportTemplateId: props.dataEditReportProps.ReporttemplateID,\r\n RoleEmp: props.dataEditReportProps.RoleEmp,\r\n RoleId: props.dataEditReportProps.RoleId,\r\n SecretId: props.dataEditReportProps.SecretId,\r\n Selectedfieldlist: props.dataEditReportProps.Selectedfieldlist,\r\n\r\n Selectedfieldlistfilter:\r\n props.dataEditReportProps.Selectedfieldlistfilter,\r\n TemplateId: props.dataEditReportProps.TemplateID,\r\n TemplateNewVersion: props.dataEditReportProps.Templateversion,\r\n }));\r\n console.log(\"props.dataEditReportProps\", props.dataEditReportProps);\r\n if (props.dataEditReportProps !== undefined) {\r\n if (\r\n JSON.stringify(props.dataEditReportProps) !==\r\n JSON.stringify(reportModel)\r\n ) {\r\n editReportData();\r\n }\r\n }\r\n } else {\r\n setTextHeader(\"Create Report / สร้างรายงาน\");\r\n }\r\n }, [props.editProps, props.dataEditReportProps]);\r\n useEffect(() => {\r\n if (templateFieldMulti !== undefined && templateFieldMulti.length !== 0) {\r\n let indexGroupByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexGroupBy === \"1\"\r\n );\r\n let indexSortingByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexSortingBy === \"1\"\r\n );\r\n let indexHideColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexHideColumn === \"1\"\r\n );\r\n let indexOrderByColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexOrderBy === \"1\"\r\n );\r\n if (indexGroupByFilter.length !== 0) {\r\n setGroupData(indexGroupByFilter);\r\n }\r\n if (indexSortingByByFilter.length !== 0) {\r\n setIndexSortingBy(indexSortingByByFilter);\r\n }\r\n if (indexHideColumnByByFilter.length !== 0) {\r\n setIndexHideColumn(indexHideColumnByByFilter);\r\n }\r\n if (indexOrderByColumnByByFilter.length !== 0) {\r\n setIndexOrderBy(indexOrderByColumnByByFilter);\r\n }\r\n }\r\n }, [templateFieldMulti]);\r\n async function Data() {\r\n setReportModel(reportModelIReportModel);\r\n\r\n setSelectedField([]);\r\n setTemplateKey([]);\r\n setTemplateField([]);\r\n setTemplateMulti([]);\r\n setTemplateFieldMulti([]);\r\n setEmployeeRequest([]);\r\n setSearchData([]);\r\n setEmployee([]);\r\n setRoleData([]);\r\n setFilterValue([]);\r\n setFilterValueSelected([]);\r\n setGroup([]);\r\n setGroupData([]);\r\n setIndexOrderBy([]);\r\n setIndexHideColumn([]);\r\n setIndexSortingBy([]);\r\n setValidationForm({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n DisabledSave: true,\r\n });\r\n }\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n }\r\n\r\n async function editData() {\r\n console.log(\"props.dataEditReportProps?.Mode\", props.dataEditReportProps);\r\n onTemplateMode(\r\n props.dataEditReportProps?.Mode === false\r\n ? { Mode: \"Real Time\" }\r\n : { Mode: \"Schedule Mode\" }\r\n );\r\n if (props.dataEditReportProps !== undefined) {\r\n const _employee = await GetAllEmployee();\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n let _RoleEmpSplit =\r\n props.dataEditReportProps.RoleEmp === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleEmp !== null\r\n ? props.dataEditReportProps.RoleEmp.split(\",\")\r\n : [];\r\n let _RoleIdSplit =\r\n props.dataEditReportProps.RoleId === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleId !== null\r\n ? props.dataEditReportProps.RoleId.split(\",\")\r\n : [];\r\n let arrayRoleEmp: any = [];\r\n let arrayGroup: any = [];\r\n if (_RoleEmpSplit.length !== 0) {\r\n _RoleEmpSplit.map((_data: any) => {\r\n let _dataRoleEmp = _employee.filter(\r\n (item: any) => item.EmployeeId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayRoleEmp.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n if (_RoleIdSplit.length !== 0) {\r\n _RoleIdSplit.map((_data: any) => {\r\n let _dataRoleEmp = roles.filter(\r\n (item: any) => item.RoleId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayGroup.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n setEmployeeRequest([...arrayRoleEmp]);\r\n setGroup([...arrayGroup]);\r\n setRadioButtonCheck(props.dataEditReportProps?.Isprivate);\r\n }\r\n }\r\n async function editReportData() {\r\n let _dataJSONParse: any = [];\r\n var TemplateId = props.dataEditReportProps?.TemplateID?.split(\"|\");\r\n _dataJSONParse =\r\n props.dataEditReportProps.Selectedfieldlist !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlist !== null &&\r\n props.dataEditReportProps.Selectedfieldlist.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlist !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlist\r\n : []\r\n : [];\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n delete _dataJSONParse[i][\"value\"];\r\n }\r\n\r\n let _dataFavoritesItem: any = [];\r\n _dataFavoritesItem =\r\n props.dataEditReportProps.Selectedfieldlistfilter !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlistfilter !== null &&\r\n props.dataEditReportProps.Selectedfieldlistfilter.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlistfilter !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlistfilter\r\n : []\r\n : [];\r\n\r\n let arrayTemplate: any = [];\r\n if (TemplateId !== undefined) {\r\n if (TemplateId.length !== 0) {\r\n for (let i = 0; i < TemplateId.length; i++) {\r\n let dataFilter = props.templateDataProps?.filter(\r\n (item: any) =>\r\n item.DocumentCode === TemplateId[i] ||\r\n item.TemplateId === Number(TemplateId[i])\r\n );\r\n arrayTemplate.push(dataFilter[0]);\r\n if (TemplateId.length - 1 === i) {\r\n _SelectFormEdit(arrayTemplate, _dataJSONParse);\r\n }\r\n }\r\n }\r\n }\r\n let _arrayItes: any = [];\r\n if (_dataFavoritesItem.length !== 0) {\r\n for (let i = 0; i < _dataFavoritesItem.length; i++) {\r\n const element = _dataFavoritesItem[i];\r\n let arrayDataReplace: any = [];\r\n if (element.FieldText && element.FieldText.length !== 0) {\r\n var _dataSplit = element.FieldText?.split(\"|\");\r\n for (let j = 0; j < _dataSplit.length; j++) {\r\n arrayDataReplace.push({\r\n FieldText: _dataSplit[j].replaceAll(\";\", \"\"),\r\n });\r\n }\r\n } else {\r\n element.FieldText = [];\r\n }\r\n element.FieldText = arrayDataReplace;\r\n }\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n const element = _dataJSONParse[i];\r\n for (let j = 0; j < _dataFavoritesItem.length; j++) {\r\n const _element = _dataFavoritesItem[j];\r\n if (element.key === _element.FieldCode) {\r\n _arrayItes.push(element);\r\n }\r\n }\r\n }\r\n setFilterValueSelected(_dataFavoritesItem);\r\n setSelectedField(_arrayItes);\r\n } else {\r\n setFilterValueSelected([]);\r\n setSelectedField([]);\r\n }\r\n }\r\n async function _save() {\r\n if (\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0 ||\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\" ||\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0 ||\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ) {\r\n setValidationForm((dataDF: any) => ({\r\n ...dataDF,\r\n TemplateIdValidation:\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0\r\n ? true\r\n : false,\r\n FieldCollectionValidation:\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\"\r\n ? true\r\n : false,\r\n ReportNameValidation:\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0\r\n ? true\r\n : false,\r\n ReportDescriptionValidation:\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ? true\r\n : false,\r\n }));\r\n } else {\r\n let objSave = {\r\n ...reportModel,\r\n Selectedfieldlistfilter:\r\n filterValueSelected.length !== 0\r\n ? filterValueSelected\r\n : // JSON.stringify(filterValueSelected)\r\n [],\r\n };\r\n objSave.Selectedfieldlist.map((data: any) => {\r\n data[\"value\"] = null;\r\n data.reportTemplateId = null;\r\n data.isChecked = \"1\";\r\n });\r\n\r\n if (objSave.Selectedfieldlistfilter.length !== 0) {\r\n for (let i = 0; i < objSave.Selectedfieldlistfilter.length; i++) {\r\n let _arrayName: any = [];\r\n const element = objSave.Selectedfieldlistfilter[i];\r\n console.log(\"element\", element.FieldText);\r\n // remove_character\r\n if (element.FieldText.length !== 0) {\r\n for (let j = 0; j < element.FieldText.length; j++) {\r\n const _element = element.FieldText[j];\r\n _arrayName.push(_element.FieldText + \";\");\r\n }\r\n objSave.Selectedfieldlistfilter[i].FieldText = _arrayName\r\n .toString()\r\n .replaceAll(\",\", \"|;\");\r\n } else {\r\n objSave.Selectedfieldlistfilter[i].FieldText = \"\";\r\n }\r\n if (objSave.Selectedfieldlistfilter[i].FieldText.length !== 0) {\r\n objSave.Selectedfieldlistfilter[i].FieldText = remove_character(\r\n objSave.Selectedfieldlistfilter[i].FieldText,\r\n objSave.Selectedfieldlistfilter[i].FieldText.length - 1\r\n );\r\n }\r\n }\r\n } else {\r\n objSave.Selectedfieldlistfilter = [];\r\n }\r\n\r\n try {\r\n if (props.editProps !== true) {\r\n let _AddReport = await AddReport(objSave);\r\n if (_AddReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.toggleDialog();\r\n }\r\n } else {\r\n let _UpdatrReport = await UpdateReport(objSave);\r\n console.log(\"_UpdatrReport\", _UpdatrReport);\r\n\r\n if (_UpdatrReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.setEditReportProps([]);\r\n\r\n props.toggleDialog();\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n const searchTextEnter = (event: any, key: any, rowData: any) => {\r\n if (event.length < 1) return;\r\n let _rowData: any = rowData;\r\n let _filterValueSelected = filterValueSelected;\r\n _rowData.FieldText.push({ FieldText: event });\r\n console.log(\"FilterValueSelected\", filterValueSelected, _rowData);\r\n _filterValueSelected.map((_data: any) => {\r\n if (_data.FieldCode === rowData.FieldCode) {\r\n _data.FieldText = _rowData.FieldText;\r\n }\r\n });\r\n\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const footer = (\r\n <>\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n }\r\n onClickProps={() => {\r\n // props.setOnLoading(true);\r\n _save();\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n \r\n );\r\n async function _fechData() {\r\n try {\r\n // const _employee = await GetAllEmployee();\r\n // let _employee: any = [];\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreateBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n }));\r\n setRoleData(roles);\r\n // setEmployee(_employee);\r\n // setSearchData(_employee);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n // setTemplateFieldMulti(e.value);\r\n _SelectFliedMulti(e.value);\r\n };\r\n const onRowReorderFilter = (e: any) => {\r\n setFilterValueSelected(e.value);\r\n };\r\n const onTemplateMode = (e: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Mode: e.Mode === \"Schedule Mode\" ? true : false,\r\n }));\r\n setTemplateMode(e);\r\n };\r\n const onChangeReportName = (e: any, key: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: e,\r\n }));\r\n };\r\n function onChangeDropdownSelectForm(e: any, editReport?: any) {\r\n let _dataFilter: any;\r\n let _dataArrya: any = [];\r\n\r\n let dataFilterValueSelected: any = filterValueSelected;\r\n\r\n e.map((_data: any) => {\r\n const characteristics = Object.entries(_data).map((key, i) => {\r\n console.log(\"key\", key);\r\n });\r\n console.log(\"_________________________________________________________\");\r\n console.log(\"FilterValueSelected\", filterValueSelected);\r\n\r\n console.log(\"_________________________________________________________\");\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: _data.key,\r\n FieldDisplay: _data.label,\r\n IsExcludeBlankData: true,\r\n FieldType: _data.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: _data.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: _data.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n if (dataFilterValueSelected.length !== 0) {\r\n let FilterValueSelected = dataFilterValueSelected.filter(\r\n (item: any) => item.FieldCode === _objJson.FieldCode\r\n );\r\n if (FilterValueSelected.length === 0) {\r\n dataFilterValueSelected.push(_objJson);\r\n } else {\r\n for (let i = 0; i < dataFilterValueSelected.length; i++) {\r\n const filter = dataFilterValueSelected[i];\r\n if (filter.FieldCode === FilterValueSelected[0].FieldCode) {\r\n dataFilterValueSelected[i] = filter;\r\n }\r\n }\r\n }\r\n } else {\r\n dataFilterValueSelected.push(_objJson);\r\n }\r\n onChangeFilterValue(dataFilterValueSelected);\r\n\r\n setFilterValueSelected([...dataFilterValueSelected]);\r\n });\r\n\r\n if (e.length !== filterValueSelected.length) {\r\n e.map((_data: any) => {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) => _data.key === item.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n _dataArrya.push(_dataFilter[0]);\r\n }\r\n });\r\n console.log(\"dataFilterValueSelected\", _dataArrya);\r\n setFilterValueSelected([..._dataArrya]);\r\n }\r\n console.log(\"eeeeeeeeeeeeeeeeeeeee\", e);\r\n // selectedField\r\n // if (_dataArrya.length !== 0) {\r\n // let _arrayElement: any = [];\r\n // for (let i = 0; i < _dataArrya.length; i++) {\r\n // const element = _dataArrya[i];\r\n // for (let j = 0; j < e.length; j++) {\r\n // const _element = e[j];\r\n // if (element.key === _element.key) {\r\n // _arrayElement.push(element);\r\n // }\r\n // }\r\n // }\r\n // setSelectedField(_arrayElement);\r\n // } else {\r\n // setSelectedField([]);\r\n // }\r\n setSelectedField(e);\r\n }\r\n function onChangeFilterValue(e: any) {\r\n setFilterValue(e);\r\n }\r\n\r\n function onChangeFilterNo(e: any) {}\r\n\r\n function onChangeGroupData(e: any, key: any) {\r\n if (key !== undefined && key !== null) {\r\n let _FilterValueSelected = templateFieldMulti;\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n _FilterValueSelected[i][key] = null;\r\n }\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n for (let j = 0; j < e.length; j++) {\r\n const valueSelected = e[j];\r\n console.log(\"allFilter\", allFilter);\r\n console.log(\"allFilter\", valueSelected);\r\n\r\n if (allFilter?.key === valueSelected?.key) {\r\n _FilterValueSelected[i][key] = \"1\";\r\n }\r\n }\r\n }\r\n\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [..._FilterValueSelected],\r\n }));\r\n setTemplateFieldMulti([..._FilterValueSelected]);\r\n if (key === \"indexGroupBy\") {\r\n setGroupData(e);\r\n }\r\n if (key === \"indexOrderBy\") {\r\n setIndexOrderBy(e);\r\n }\r\n if (key === \"indexHideColumn\") {\r\n setIndexHideColumn(e);\r\n }\r\n if (key === \"indexSortingBy\") {\r\n setIndexSortingBy(e);\r\n }\r\n }\r\n }\r\n function onChangeDropdownfilterValue(e: any, data: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === e.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n FilterParameter:\r\n data.Filter === \"Contains\"\r\n ? \"Like\"\r\n : data.Filter === \"Not Contains\"\r\n ? \"Not Like\"\r\n : data.Filter,\r\n };\r\n }\r\n }\r\n }\r\n console.log(\"_FilterValueSelected\", _FilterValueSelected);\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n setDropdownfilterValue(data);\r\n }\r\n function addTemplateKey() {\r\n try {\r\n let _TemplateKey = props.templateDataProps;\r\n let _TemplateKeyArray: any = [];\r\n _TemplateKey?.map((_data: any) => {\r\n _TemplateKeyArray.push({\r\n ..._data,\r\n TemplateKey: _data.TemplateNameWithCode,\r\n });\r\n });\r\n console.log(\"_TemplateKeyArray\", _TemplateKeyArray);\r\n\r\n setTemplateKey(_TemplateKeyArray);\r\n } catch (error) {}\r\n\r\n // + \"(\" + _data.TemplateId + \")\",\r\n }\r\n async function _RadioButtonFormType(data: any, key: any, rowData: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n if (key !== \"Private\" && key !== \"Public\") {\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowData.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n [key]: data,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n if (key === \"IsTodayFrom\") {\r\n setRadioButtonCheckFrom(data);\r\n } else {\r\n setRadioButtonCheckToday(data);\r\n }\r\n }\r\n if (key === \"Private\" || key === \"Public\") {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n IsPrivate: data,\r\n }));\r\n\r\n setRadioButtonCheck(data);\r\n }\r\n }\r\n async function _SelectFormEdit(e: any, _dataJSONParse: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeee\", e);\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFliedEdit(e, _dataJSONParse);\r\n _SelectFliedMulti(_dataJSONParse);\r\n }\r\n async function _SelectForm(e: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeeeeeeeeeeeeeee\", e);\r\n if (e) {\r\n e.map((data: any) => {\r\n arrayTemplate.push(data.DocumentCode);\r\n });\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFlied(e);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: arrayTemplate.toString().replaceAll(\",\", \"|\"),\r\n }));\r\n } else {\r\n setTemplateMulti([]);\r\n\r\n _SelectFlied([]);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: \"\",\r\n }));\r\n }\r\n }\r\n function _CalendarDate(e: any, rowdata: any, key: any) {\r\n console.log(\"rowdata\", rowdata);\r\n console.log(\"e\", e);\r\n\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowdata.FieldCode\r\n );\r\n\r\n let _DateTime: any = formatDateTime(e);\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n [key]: _DateTime,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n }\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n async function _SelectFliedMulti(edit: any) {\r\n console.log(\"editeeeeeeeeeeeeeeeeeeeeee\", edit);\r\n\r\n let arrayPush: any = [];\r\n if (edit) {\r\n for (let i = 0; i < edit.length; i++) {\r\n const element = edit[i];\r\n for (let j = 0; j < filterValueSelected.length; j++) {\r\n const _element = filterValueSelected[j];\r\n\r\n if (element.key === _element.FieldCode) {\r\n arrayPush.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"arrayPush\", arrayPush);\r\n console.log(\"arrayPush\", selectedField);\r\n let arraySelected: any = [];\r\n if (arrayPush.length !== 0) {\r\n for (let i = 0; i < arrayPush.length; i++) {\r\n const element = arrayPush[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.FieldCode === _element.key) {\r\n arraySelected.push(_element);\r\n }\r\n }\r\n }\r\n setSelectedField(arraySelected);\r\n } else {\r\n setSelectedField([]);\r\n }\r\n console.log(\"filterValueSelected\", filterValueSelected);\r\n\r\n // filterValueSelected\r\n // onChangeDropdownSelectForm(edit);\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: edit,\r\n }));\r\n\r\n setTemplateFieldMulti(edit);\r\n } else {\r\n setSelectedField([]);\r\n\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [],\r\n }));\r\n\r\n setTemplateFieldMulti([]);\r\n }\r\n }\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (tableLoading) {\r\n let _employee = await GetAllEmployee(req);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setTableLoading(!tableLoading);\r\n }\r\n }\r\n async function _SelectFliedEdit(e: any, edit: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i]?.TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\"arrayFliedTest\", arrayFliedTest);\r\n console.log(\"arrayFliedTest\", edit);\r\n for (let inx = 0; inx < edit.length; inx++) {\r\n const element = edit[inx];\r\n\r\n // for (let j = 0; j < arrayFliedTest.length; j++) {\r\n // const _element = arrayFliedTest[j];\r\n\r\n // if (element.key === _element.key) {\r\n // console.log(\"element____________\", element);\r\n // // arrayFliedTest.push(element);\r\n // }\r\n // }\r\n let _dataFilter = arrayFliedTest.filter(\r\n (item: any) => element.key === item.key\r\n );\r\n if (_dataFilter.length === 0) {\r\n arrayFliedTest.push(element);\r\n }\r\n console.log(\"_dataFilter\", _dataFilter, element);\r\n\r\n // if (_dataFilter.length !== 0) {\r\n // console.log(\"_dataFilter\", _dataFilter);\r\n // }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n console.log(\"arrayFieldMulti\", arrayFieldMulti);\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n }\r\n async function _SelectFlied(e: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i].TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\r\n \"arrayFliedTest_templateSelect_templateSelect\",\r\n arrayFliedTest,\r\n _templateSelect\r\n );\r\n\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n\r\n // selectedField\r\n console.log(\r\n \"selectedFieldjjjjjjjjjjjjjjjj\",\r\n selectedField,\r\n arrayFieldMulti\r\n );\r\n // console.log(\"selectedField\",selectedField);\r\n let _arrayKey: any = [];\r\n for (let i = 0; i < selectedField.length; i++) {\r\n const element = selectedField[i];\r\n for (let j = 0; j < arrayFieldMulti.length; j++) {\r\n const _element = arrayFieldMulti[j];\r\n if (element.key === _element.key) {\r\n _arrayKey.push(element);\r\n }\r\n }\r\n }\r\n\r\n setSelectedField(_arrayKey);\r\n _SelectFliedMulti(_arrayKey);\r\n }\r\n\r\n function _AutoComplete(data: any, key: any) {\r\n let _dataName: any = [];\r\n if (key === \"RoleEmp\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n }\r\n if (key === \"RoleId\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.RoleId);\r\n });\r\n setGroup(data);\r\n }\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _dataName.toString(),\r\n }));\r\n }\r\n const _AutoCompleteText = (data: any, key: any, rowData: any) => {\r\n let _filterValueSelected = filterValueSelected;\r\n\r\n for (let i = 0; i < _filterValueSelected.length; i++) {\r\n const element = _filterValueSelected[i];\r\n if (rowData.FieldCode === element.FieldCode) {\r\n rowData.FieldText = [];\r\n\r\n _filterValueSelected[i].FieldText = data;\r\n }\r\n }\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n return (\r\n <>\r\n {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n breakpoints={{ \"1348px\": \"75vw\" }}\r\n onClick={() => {\r\n console.log(\r\n \"reportModelreportModelreportModelreportModel\",\r\n reportModel,\r\n validationForm\r\n );\r\n }}\r\n className=\"header-text\"\r\n >\r\n \r\n
\r\n \r\n \r\n

\r\n {textHeader}\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 _SelectForm(e.value);\r\n }}\r\n optionLabel=\"TemplateKey\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.TemplateIdValidation === true\r\n ? templateMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n onTemplateMode(e.value)}\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 _SelectFliedMulti(e.value);\r\n }}\r\n dataKey=\"key\"\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.FieldCollectionValidation === true\r\n ? templateFieldMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n \r\n onChangeDropdownSelectForm(e.value)\r\n }\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n {selectedField.length !== 0 &&\r\n filterValueSelected.length !== 0 && (\r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n \r\n (\r\n \r\n onChangeFilterValue(e.value)\r\n }\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextFrom !==\r\n undefined &&\r\n rowData.FieldTextFrom !==\r\n null &&\r\n rowData.FieldTextFrom\r\n .length !== 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextFrom\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayFrom\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayFrom ===\r\n true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextFrom\"\r\n )\r\n }\r\n style={{\r\n marginBottom: \"1em\",\r\n }}\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n }\r\n let _dataFilter: any = [];\r\n if (filterValueSelected.length !== 0) {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) =>\r\n rowData.FieldCode === item.FieldCode\r\n );\r\n }\r\n if (\r\n rowData.FieldTypeFilterDynamic !== \"d\" &&\r\n rowData.FieldTypeFilterStatic !== \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {\r\n onChangeDropdownfilterValue(\r\n rowData,\r\n e.value\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextTo !==\r\n undefined &&\r\n rowData.FieldTextTo !==\r\n null &&\r\n rowData.FieldTextTo.length !==\r\n 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextTo\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n To (\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayTo\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayTo ===\r\n true\r\n }\r\n keyProps={\"Today\"}\r\n labelProps={\"\"}\r\n />\r\n Today )\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextTo\"\r\n )\r\n }\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n console.log(\r\n \"rowDatarowDatarowData\",\r\n rowData.FieldText\r\n );\r\n\r\n return (\r\n <>\r\n \r\n _AutoCompleteText(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n onBlur={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n valueProps={\r\n rowData.FieldText !==\r\n undefined &&\r\n rowData.FieldText\r\n .length !== 0 &&\r\n typeof rowData.FieldText ===\r\n \"object\"\r\n ? rowData.FieldText\r\n : []\r\n }\r\n keyProps={\"FieldText\"}\r\n styleProps={{\r\n height:\r\n rowData?.FieldText !==\r\n undefined\r\n ? rowData\r\n ?.FieldText\r\n .length === 0\r\n ? \"38px\"\r\n : \"100%\"\r\n : \"38px\",\r\n width: \"100%\",\r\n borderRadius:\r\n \"6px 6px 6px 6px\",\r\n }}\r\n onKeyPress={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n />\r\n\r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n\r\n // <>\r\n // \r\n // \r\n // );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportName\")\r\n }\r\n className={\r\n validationForm.ReportNameValidation === true\r\n ? reportModel.ReportName !== undefined &&\r\n reportModel.ReportName !== null &&\r\n reportModel.ReportName.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportName}\r\n // onFocus={true}\r\n // Foc\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 onChangeReportName(e.target.value, \"ReportDescription\")\r\n }\r\n className={\r\n validationForm.ReportDescriptionValidation === true\r\n ? reportModel.ReportDescription !== undefined &&\r\n reportModel.ReportDescription !== null &&\r\n reportModel.ReportDescription.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportDescription}\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 onChangeGroupData(e.value, \"indexGroupBy\");\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 onChangeGroupData(e.value, \"indexOrderBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexHideColumn\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"95% \", fontSize: \"13px\" }}\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 onChangeGroupData(e.value, \"indexSortingBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\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 Edit User Permission / แก้ไขสิทธิ์\r\n

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

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n showModal(\"RoleEmp\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined ||\r\n employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n\r\n {/*

Validation Employee (s)

*/}\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 _AutoComplete(e.value, \"RoleId\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n filter\r\n showClear\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n try {\r\n let dataSelectEmployee: any[] = [];\r\n if (employeeRequest) {\r\n dataSelectEmployee = [...employeeRequest];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === rowData.NameEn ||\r\n _data.NameTh === rowData.NameTh\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(rowData);\r\n }\r\n\r\n _AutoComplete(dataSelectEmployee, keyAutoComplete);\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogVisible}\r\n setDialogVisible={setDialogVisible}\r\n />\r\n {/* */}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst UnAurthorization = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UnAurthorization;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UnAurthorization from \"../../screens/UnAuthorizePage/UnAurthorization\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nconst withPerMission =\r\n (Component: any) =>\r\n ({ ...props }) => {\r\n const [isAuthorize, setIsAuthorizeo] = useState(false);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const isAdmin =\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false;\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const query = new URLSearchParams(useLocation().search);\r\n\r\n useEffect(() => {\r\n const fetchNav = async () => {\r\n const menus = await GetNavbarMenu(empData?.employeeData?.Email);\r\n const _query = query.get(\"name\") || \"\";\r\n\r\n let _isAuthorize: boolean = isAuthorize;\r\n for (let i = 0; i < menus.length; i++) {\r\n const menu = menus[i];\r\n\r\n if (\r\n menu?.Url?.toLowerCase() === location.pathname?.toLowerCase() ||\r\n menu?.Url?.toLowerCase() === `/${_query?.toLowerCase()}` ||\r\n location?.pathname\r\n ?.toLowerCase()\r\n .includes(menu?.Url?.toLowerCase()) ||\r\n isAdmin\r\n ) {\r\n _isAuthorize = true;\r\n }\r\n }\r\n setOnLoading(false);\r\n setIsAuthorizeo(_isAuthorize);\r\n };\r\n fetchNav();\r\n }, [query]);\r\n\r\n return onLoading ? (\r\n
\r\n ) : isAuthorize ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\nexport default withPerMission;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n AiOutlineSortAscending,\r\n AiOutlineSortDescending,\r\n} from \"react-icons/ai\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\n\r\ntype Props = {\r\n onClick: (type: \"dec\" | \"asc\") => void;\r\n sortType?: \"dec\" | \"asc\" | null;\r\n};\r\n\r\nconst SortingButton = ({ sortType, onClick }: Props) => {\r\n const callSortFunc = () => {\r\n if (sortType === \"dec\") {\r\n sortType = \"dec\";\r\n } else {\r\n sortType = \"asc\";\r\n }\r\n onClick(sortType);\r\n };\r\n\r\n return (\r\n
\r\n {sortType === \"dec\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default SortingButton;\r\n","export const sorterFunc = (\r\n a: any,\r\n b: any,\r\n key: string,\r\n type: \"dec\" | \"asc\" | null,\r\n filterType: string\r\n) => {\r\n try {\r\n let nameA: any;\r\n let nameB: any;\r\n\r\n if (filterType === \"date\") {\r\n nameA = a[key] || a[key] !== \"\" ? new Date(a[key]).getTime() : \"\";\r\n nameB = b[key] || b[key] !== \"\" ? new Date(b[key]).getTime() : \"\";\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n console.log(typeof a[key]);\r\n if (typeof a[key] !== \"string\") {\r\n return 0;\r\n }\r\n if (!isNaN(a[key]?.replaceAll(\",\", \"\"))) {\r\n nameA = Number(a[key]?.replaceAll(\",\", \"\"));\r\n nameB = Number(b[key]?.replaceAll(\",\", \"\"));\r\n\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n nameA = a[key]?.toString().toLowerCase();\r\n nameB = b[key]?.toString().toLowerCase();\r\n if (type === \"asc\") {\r\n if (nameA > nameB) {\r\n return 1;\r\n } else if (nameB > nameA) {\r\n return -1;\r\n }\r\n } else {\r\n if (nameA > nameB) {\r\n return -1;\r\n } else if (nameB > nameA) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"helper=>sorterFunc=>error\", error);\r\n return 0;\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport { GetAllDynamic, updateDynamic } from \"../Services/DynamicService\";\r\n\r\nexport const exportExcel = (\r\n fileName: string,\r\n data: any[],\r\n setLoad?: (val: boolean) => void\r\n) => {\r\n const excelData = [...data];\r\n\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n if (setLoad) {\r\n setLoad(true);\r\n }\r\n saveAsExcelFile(\r\n excelBuffer,\r\n fileName + \" : \" + moment(new Date()).format(\"DD MMM YYYY\")\r\n );\r\n if (setLoad) {\r\n setLoad(false);\r\n }\r\n });\r\n};\r\n\r\nconst formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nconst saveAsExcelFile = async (buffer: any, fileName: any) => {\r\n await import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + \"_export_\" + EXCEL_EXTENSION);\r\n });\r\n};\r\n\r\nexport const importExcel = async (e: any, apiName: string) => {\r\n try {\r\n const file = e.target.files[0];\r\n\r\n return import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n console.log(\"table=>_importedData\", _importedData);\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = apiName?.replace(\"/GetAll\", \"\");\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n let _dataDynamic = await GetAllDynamic(apiName, undefined);\r\n return { respone: true, data: _dataDynamic };\r\n } else {\r\n return { respone: false };\r\n }\r\n }\r\n } else {\r\n return { respone: false };\r\n }\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n } catch (error: any) {\r\n return { respone: false, data: error };\r\n }\r\n};\r\n","import {\r\n AutoComplete,\r\n Col,\r\n DatePicker,\r\n Row,\r\n Table,\r\n TablePaginationConfig,\r\n Tag,\r\n} from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport \"../../AntdControlComponent/TableComponent/TableComponentCSS.css\";\r\nimport \"../Table.css\";\r\nimport SortingButton from \"../../ButtonComponents/SortingButton\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { exportExcel } from \"../../../Helper/ExportExcel\";\r\nimport { updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { IPaging } from \"../../../IRequestModel/IPaginationOptionModel\";\r\nconst { RangePicker } = DatePicker;\r\n\r\ntype Props = {\r\n tableName: string;\r\n dataSource: any[];\r\n customColumns?: any[];\r\n setItemsCount?: (value: number) => void;\r\n canExport: boolean;\r\n setLoad?: (value: boolean) => void;\r\n actionBodyTemplate?: any;\r\n customImportFileButton?: any;\r\n rowClickAction?: any;\r\n canEdit?: any;\r\n toast?: any;\r\n loading?: boolean;\r\n reloadData?: (apiName: string) => void;\r\n VersionTempVCProps?: any;\r\n paginationOption?: TablePaginationConfig;\r\n onPageChange?: (paginationValue: IPaging) => void;\r\n};\r\n\r\ntype ITableFilter = {\r\n key: string;\r\n type: string;\r\n sortType: \"dec\" | \"asc\" | null;\r\n value: any;\r\n};\r\n\r\nconst DynamicTable = ({\r\n tableName,\r\n dataSource,\r\n customColumns,\r\n canExport,\r\n setItemsCount,\r\n setLoad,\r\n canEdit,\r\n actionBodyTemplate,\r\n rowClickAction,\r\n reloadData,\r\n customImportFileButton,\r\n loading,\r\n paginationOption,\r\n onPageChange,\r\n}: Props) => {\r\n const location = useLocation();\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [allColumns, setAllColumns] = useState();\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [showData, setShowData] = useState(dataSource);\r\n const [isHoverAction, setIsHoverAction] = useState(false);\r\n const [filters, setFilters] = useState();\r\n const [canOpenMemo, setCanOpenMemo] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [exportLoading, setExportLoading] = useState(false);\r\n const [importLoading, setImportLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (dataSource) {\r\n setToggleSelect(true);\r\n GetFilter();\r\n }\r\n }, [dataSource]);\r\n\r\n useEffect(() => {\r\n if (filters) {\r\n if (filters.length > 0) {\r\n GetColumns(filters);\r\n }\r\n }\r\n }, [filters]);\r\n\r\n useEffect(() => {\r\n if (allColumns) {\r\n setSelectedColumns([\r\n ...allColumns.filter((e: any) => !e.key.toLowerCase().includes(\"id\")),\r\n ]);\r\n }\r\n }, [allColumns]);\r\n\r\n useEffect(() => {\r\n if (showData) {\r\n if (setItemsCount) {\r\n setItemsCount(showData.length);\r\n }\r\n }\r\n }, [showData]);\r\n\r\n // useEffect(() => {\r\n // if (filters) {\r\n // if (filters.length > 0) {\r\n // filterFunc();\r\n // }\r\n // }\r\n // }, [filters]);\r\n\r\n const formatData = (_allColumns: any[]) => {\r\n let _data = dataSource;\r\n _allColumns.forEach((col: any) => {\r\n if (col.key.toLowerCase().includes(\"date\") || col.filterType === \"d\") {\r\n _data.forEach((e: any) => {\r\n if (e[col.key] && e[col.key] !== \"\") {\r\n let newDate = formatDate(e[col.key]);\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n newDate = moment(e[col.key]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n } else {\r\n let someDateString = moment(e[col.key], \"DD/MM/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n e[col.key] = newDate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _data.forEach((e: any) => {\r\n if (typeof e[col.key] === \"boolean\") {\r\n e[col.key] = e[col.key].toString();\r\n } else if (e[col.key] === 0 || e[col.key] === null) {\r\n e[col.key] = \"\";\r\n }\r\n });\r\n }\r\n });\r\n\r\n setShowData([..._data]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(new Date(value), \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const GetColumns = (tableFilter: ITableFilter[]) => {\r\n try {\r\n let columns: any[] = [];\r\n let _filters: ITableFilter[] = [];\r\n\r\n if (customColumns) {\r\n columns = getsettingReportTableColumns(customColumns, tableFilter);\r\n } else {\r\n columns = getsettingTableColumns(tableFilter);\r\n }\r\n formatData(columns);\r\n filterFunc();\r\n setFilters([..._filters]);\r\n setAllColumns([...columns]);\r\n } catch (error) {}\r\n };\r\n const GetFilter = () => {\r\n let _filters: ITableFilter[] = [];\r\n try {\r\n const action = new URLSearchParams(location.search).get(\"action\");\r\n const previousFilter = JSON.parse(\r\n sessionStorage.getItem(`filter::table::${tableName}`) || \"[]\"\r\n ) as ITableFilter[];\r\n\r\n if (action == \"back\" && previousFilter.length > 0) {\r\n _filters = previousFilter;\r\n } else if (customColumns) {\r\n customColumns.forEach((colField: any) => {\r\n const filter: ITableFilter = {\r\n key: colField.key,\r\n type: \"\",\r\n sortType: null,\r\n value: \"\",\r\n };\r\n if (colField.FieldTypeFilterDynamic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (colType === \"c\") {\r\n filter.type = \"number\";\r\n } else if (colType === \"d\") {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n } else if (colField.FieldTypeFilterStatic) {\r\n const colType = colField.FieldTypeFilterDynamic;\r\n if (\r\n colType === \"Datetime\" ||\r\n colField.key.toLowerCase().includes(\"date\")\r\n ) {\r\n filter.type = \"date\";\r\n } else {\r\n filter.type = \"text\";\r\n }\r\n }\r\n _filters.push(filter);\r\n });\r\n } else {\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const filter: ITableFilter = {\r\n key: key,\r\n type: key.toLowerCase().includes(\"date\")\r\n ? \"date\"\r\n : typeof dataSource[0][key],\r\n sortType: null,\r\n value: \"\",\r\n };\r\n _filters.push(filter);\r\n }\r\n );\r\n }\r\n // return _filters;\r\n setFilters([..._filters]);\r\n } catch (error) {\r\n return _filters;\r\n }\r\n };\r\n\r\n const getsettingReportTableColumns = (\r\n customColumns: any[],\r\n tableFilter: ITableFilter[]\r\n ) => {\r\n let columns: any[] = [];\r\n customColumns.forEach((colField: any) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(colField.dispalyLebelAndAlter) * 2.5 + 20,\r\n getWitdthFormText(dataSource[0][colField.key])\r\n );\r\n\r\n if (colField.key !== \"operation\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {colField.dispalyLebelAndAlter}\r\n \r\n \r\n \r\n {getSorterButton(colField.key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === colField.key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: colField.key,\r\n key: colField.key,\r\n filterType: colField.FieldTypeFilterDynamic,\r\n width:\r\n colField.key.toLowerCase().includes(\"date\") ||\r\n colField.FieldTypeFilterDynamic === \"d\"\r\n ? 250\r\n : colWidth,\r\n });\r\n }\r\n });\r\n return columns;\r\n };\r\n\r\n const getsettingTableColumns = (tableFilter: ITableFilter[]) => {\r\n let columns: any[] = [];\r\n if (canEdit) {\r\n columns.push({\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"left\",\r\n width: 50,\r\n render: (_: any, record: any) => {\r\n if (actionBodyTemplate) {\r\n return (\r\n setIsHoverAction(true)}\r\n onMouseLeave={(e: any) => setIsHoverAction(false)}\r\n >\r\n {actionBodyTemplate(record)}\r\n
\r\n );\r\n }\r\n },\r\n });\r\n }\r\n\r\n Object.keys(dataSource[0] ? dataSource[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n const colWidth = Math.max(\r\n getWitdthFormText(key) * 3 + 20,\r\n getWitdthFormText(dataSource[0][key])\r\n );\r\n if (key !== \"operation\" && key.toLowerCase() !== \"password\") {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n if (key === \"AmountFrom_AmountTo\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n ellipsis: {\r\n showTitle: false,\r\n },\r\n width: colWidth,\r\n render: (record: any) => {\r\n const dd = record.split(\":\");\r\n let htmlBody: any[] = [];\r\n dd.forEach((data: any, idx: number) => {\r\n if (idx < 4) {\r\n htmlBody.push(

{data}

);\r\n } else {\r\n htmlBody.push(

.......

);\r\n }\r\n });\r\n return <>{htmlBody};\r\n },\r\n });\r\n } else if (key === \"TemplateName\") {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {key}\r\n \r\n \r\n {getSorterButton(key, tableFilter)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n\r\n key: key,\r\n render: (_: any, record: any) => {\r\n return (\r\n \r\n {record[key]}\r\n {record.isPublishVersion === \"true\" && (\r\n \r\n Publish\r\n \r\n )}\r\n {record.isEditing === \"true\" && (\r\n \r\n Editing\r\n \r\n )}\r\n \r\n );\r\n },\r\n width: 350,\r\n });\r\n } else {\r\n columns.push({\r\n title: () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {key === \"Delegate_To\" ? \"Delegate To\" : key}\r\n \r\n \r\n \r\n {tableFilter && (\r\n <>{getSorterButton(key, tableFilter)}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableFilter &&\r\n getInputFilter(\r\n tableFilter,\r\n tableFilter.filter(\r\n (e: ITableFilter) => e.key === key\r\n )[0]\r\n )}\r\n \r\n \r\n
\r\n );\r\n },\r\n dataIndex: key,\r\n key: key,\r\n width:\r\n key.toLowerCase().includes(\"date\") ||\r\n (key.toLowerCase().includes(\"วัน\") &&\r\n tableName !== \"Time Stamp\")\r\n ? 250\r\n : key.toLowerCase() === \"nameth\" ||\r\n key.toLowerCase() === \"nameen\"\r\n ? 250\r\n : key.toLowerCase().includes(\"หน่วยงาน\")\r\n ? 300\r\n : key.toLowerCase().includes(\"ชื่อเอกสาร\")\r\n ? 350\r\n : colWidth,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n const getWitdthFormText = (str: string) => {\r\n var canvas = document.createElement(\"canvas\");\r\n\r\n var ctx = canvas.getContext(\"2d\");\r\n var width: number = 0;\r\n\r\n if (ctx) {\r\n ctx.font = \"14px \";\r\n width = ctx.measureText(str).width;\r\n }\r\n return width;\r\n };\r\n\r\n const getSorterButton = (key: string, tableFilter: ITableFilter[]) => {\r\n let filterType: string = tableFilter\r\n .find((v: ITableFilter) => v.key === key)\r\n ?.type.toString()!;\r\n return (\r\n e.key === key)\r\n ? tableFilter.find((e: ITableFilter) => e.key === key)?.sortType\r\n : \"asc\"\r\n }\r\n onClick={(type: \"dec\" | \"asc\" | null) => {\r\n // let _data: any[] = dataSource;\r\n tableFilter.map((e: ITableFilter) => {\r\n if (e.key === key) {\r\n if (e.sortType === \"dec\") {\r\n e.sortType = \"asc\";\r\n } else {\r\n e.sortType = \"dec\";\r\n }\r\n } else {\r\n e.sortType = null;\r\n }\r\n });\r\n\r\n filterFunc(key, type, filterType);\r\n\r\n // setShowData([\r\n // ..._data.sort((a: any, b: any) => {\r\n // return sorterFunc(a, b, key, type);\r\n // }),\r\n // ]);\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const getInputFilter = (\r\n tableFilter: ITableFilter[],\r\n rowFilter: ITableFilter\r\n ) => {\r\n let _data: any[] = showData;\r\n if (rowFilter) {\r\n if (rowFilter.type === \"date\") {\r\n return (\r\n
\r\n \r\n moment(x, \"DD MMM YYYY\")\r\n ) as any\r\n }\r\n format={\"DD MMM YYYY\"}\r\n // id Startdate\r\n id=\"StartDate\"\r\n style={{ borderRadius: \"6px\" }}\r\n onChange={(e: any) => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n if (e) {\r\n let value: any[] = e.map(\r\n (val: any) => (val = moment(val).format(\"DD MMM YYYY\"))\r\n );\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n } else {\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n // setFilters([..._filters]);\r\n }\r\n filterFunc();\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n allowClear\r\n />\r\n
\r\n );\r\n } else {\r\n let uniq: Set = new Set();\r\n let options: any[] = [];\r\n if (rowFilter.type === \"boolean\") {\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key]) {\r\n e[rowFilter.key] = e[rowFilter.key].toString();\r\n } else {\r\n e[rowFilter.key] = \"\";\r\n }\r\n });\r\n }\r\n _data.forEach((e: any) => {\r\n if (e[rowFilter.key] !== \"\") {\r\n const isDuplicate = uniq.has(e[rowFilter.key]);\r\n uniq.add(e[rowFilter.key]);\r\n if (!isDuplicate) {\r\n options.push({ value: e[rowFilter.key] });\r\n }\r\n }\r\n });\r\n\r\n return (\r\n
\r\n \r\n option.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n className={\"table-search\"}\r\n onBlur={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onFocus={(e: any) => {\r\n try {\r\n let value = e.target.value;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n let value = e;\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key === rowFilter.key) {\r\n filter.value = value;\r\n }\r\n });\r\n filterFunc();\r\n } catch (error) {\r\n console.error(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n let _filters: ITableFilter[] = tableFilter;\r\n _filters.forEach((filter: ITableFilter) => {\r\n if (filter.key == rowFilter.key) {\r\n filter.value = \"\";\r\n }\r\n });\r\n filterFunc();\r\n\r\n // setFilters([..._filters]);\r\n }}\r\n style={{ width: \"100%\" }}\r\n />\r\n
\r\n );\r\n }\r\n }\r\n };\r\n\r\n const filterFunc = (\r\n key?: string,\r\n type?: \"dec\" | \"asc\" | null,\r\n filterType?: string\r\n ) => {\r\n try {\r\n let _data: any[] = dataSource;\r\n\r\n filters?.forEach((filter: ITableFilter) => {\r\n if (filter.value !== \"\" && filter.value !== \"Invalid date\") {\r\n if (filter.type === \"number\") {\r\n _data = _data.filter((e: any) => {\r\n return e[filter.key] == Number(filter.value);\r\n });\r\n } else if (filter.type === \"date\") {\r\n const startDate = new Date(filter.value[0]);\r\n const endDate = new Date(filter.value[1]);\r\n _data = _data.filter((e: any) => {\r\n let date = new Date(e[filter.key]);\r\n if (date.toString() !== \"Invalid Date\") {\r\n return date >= startDate && date <= endDate;\r\n }\r\n });\r\n } else {\r\n _data = _data.filter((e: any) =>\r\n e[filter.key]\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(filter.value.toLowerCase())\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (filters) {\r\n sessionStorage.setItem(\r\n `filter::table::${tableName}`,\r\n JSON.stringify(filters)\r\n );\r\n }\r\n if (key && type && filterType) {\r\n _data.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, key, type, filterType);\r\n });\r\n }\r\n setFilters(filters);\r\n setShowData([..._data]);\r\n } catch (error) {\r\n console.error(\"table=>filterFunc=>error\", error);\r\n }\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n try {\r\n let selectedColumns = event.value;\r\n\r\n let orderedSelectedColumns = allColumns.filter((col: any) =>\r\n selectedColumns.some(\r\n (sCol: any) =>\r\n sCol.dataIndex === col.dataIndex || col.key === \"operation\"\r\n )\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n } catch (error) {\r\n console.error(\"table=>onColumnToggle=>error\", error);\r\n }\r\n };\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataSource.map((data: any) => {\r\n let dataField: any = {};\r\n allColumns.forEach((col: any) => {\r\n if (!col.key.toLowerCase().includes(\"id\")) {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (col.key === selCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n } else {\r\n dataField[col.key] = data[col.key];\r\n }\r\n });\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {\r\n console.error(\"table=>reconStructionForShowData=>error\", error);\r\n }\r\n }\r\n\r\n const renderHeader1 = () => {\r\n try {\r\n if (allColumns) {\r\n const selCol: any[] = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col: any[] = [...allColumns];\r\n let showCol: any[] = [];\r\n selCol.forEach((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n const field: string = e.dataIndex;\r\n if (!field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (\r\n e.dataIndex !== undefined &&\r\n e.dataIndex !== null &&\r\n e.dataIndex !== \"\"\r\n ) {\r\n if (!e.dataIndex.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n }\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {\r\n try {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter(\r\n (value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n }\r\n );\r\n setShowData([...uniqueArray]);\r\n } catch (error) {\r\n console.error(\"table=>onHide=>error\", error);\r\n }\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"50%\" }}\r\n />\r\n \r\n {canExport && (\r\n <>\r\n \r\n {\r\n await exportExcel(\r\n tableName,\r\n reconStructionForExport(),\r\n setExportLoading\r\n );\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n {!location.pathname.includes(\"DynamicReport\") &&\r\n !location.search?.includes(\"DelegateList\") &&\r\n !location.search?.includes(\"TimeStamp\") && (\r\n <>\r\n {customImportFileButton ? (\r\n customImportFileButton\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n Import from excel\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 } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n if (_importedData.length !== 0) {\r\n let res = null;\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = tableName?.replace(\"/GetAll\", \"\");\r\n if (\r\n !_importedData[i][apiNamereplace + \"Id\"] ||\r\n _importedData[i][apiNamereplace + \"Id\"] === \"\"\r\n ) {\r\n _importedData[i].CreatedBy = userData.EmployeeId.toString();\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n } else {\r\n _importedData[i].ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n setImportLoading(true);\r\n\r\n res = await updateDynamic(apiNamereplace, element);\r\n }\r\n\r\n if (res.result === \"success\") {\r\n if (reloadData) {\r\n reloadData(tableName);\r\n }\r\n }\r\n setImportLoading(false);\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n });\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n e.target.value = null;\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n showData.forEach((data: any) => {\r\n let dataField: any = {};\r\n if (customColumns) {\r\n customColumns?.forEach((col: any) => {\r\n if (col.key !== \"operation\") {\r\n if (col.key.toLowerCase().includes(\"id\")) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === col.key) {\r\n dataField[col.dispalyLebelAndAlter] = data[col.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n allColumns.forEach((allCol: any) => {\r\n if (allCol.key !== \"operation\") {\r\n if (allCol.key.toLowerCase().includes(\"id\")) {\r\n dataField[allCol.key] = data[allCol.key];\r\n } else {\r\n selectedColumns.forEach((selCol: any) => {\r\n if (selCol.key === allCol.key) {\r\n dataField[selCol.key] = data[selCol.key];\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n dataExport.push(dataField);\r\n });\r\n\r\n return dataExport;\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {renderHeader1()}\r\n \r\n \r\n \r\n {\r\n return {\r\n onClick: (event: any) => {\r\n if (rowClickAction) {\r\n if (!isHoverAction) {\r\n rowClickAction(record, rowIndex, event);\r\n }\r\n }\r\n }, // click row\r\n onDoubleClick: (event: any) => {}, // double click row\r\n onContextMenu: (event: any) => {}, // right button click row\r\n onMouseEnter: (event: any) => {\r\n if (record[\"Memo_MemoId\"]) {\r\n setCanOpenMemo(true);\r\n }\r\n }, // mouse enter row\r\n onMouseLeave: (event: any) => {\r\n setCanOpenMemo(false);\r\n }, // mouse leave row\r\n };\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DynamicTable;\r\n","enum LoadState {\r\n IDLE = 0,\r\n LOADING = 1,\r\n COMPLETE = 2,\r\n FAIL = 4,\r\n}\r\nclass GetAllMasterDataService {\r\n private static data: any = null;\r\n private static error: any = null;\r\n private static state: LoadState = LoadState.IDLE;\r\n private static queue: { resolve: Function; reject: Function }[] = [];\r\n\r\n private static responseToQueue() {\r\n if (this.state == LoadState.COMPLETE) {\r\n this.queue.forEach(({ resolve }) => {\r\n resolve(this.data);\r\n });\r\n } else if (this.state == LoadState.FAIL) {\r\n this.queue.forEach(({ reject }) => {\r\n reject(this.error);\r\n });\r\n\r\n this.state = LoadState.IDLE;\r\n this.error = null;\r\n this.data = null;\r\n }\r\n }\r\n\r\n public static retrieve() {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n // add callback to queue\r\n this.queue.push({ resolve, reject });\r\n\r\n if (this.state == LoadState.IDLE) {\r\n this.state = LoadState.LOADING;\r\n this.data = await fetch(\"/api/MasterData/GetAll\").then((r) =>\r\n r.json()\r\n );\r\n this.state = LoadState.COMPLETE;\r\n }\r\n } catch (e) {\r\n this.error = e;\r\n this.state = LoadState.FAIL;\r\n }\r\n\r\n this.responseToQueue();\r\n });\r\n }\r\n}\r\n\r\nexport const GetAllMasterData = () => {\r\n return GetAllMasterDataService.retrieve();\r\n};\r\n\r\nexport const GetSignature = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetSignature\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetReportSetting = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetReportSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetIsDocControl = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetIsDocControl\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const getAuthorization = async () => {\r\n const respone = await fetch(\"/api/MasterData/getAuthorization\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersion = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersion\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersionTempVC = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersionTempVC\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplate = async () => {\r\n const respone = await fetch(\"api/MasterData/GetLeaveTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplateByEmpId = async (empId: number) => {\r\n const respone = await fetch(`api/MasterData/GetLeaveTemplate/${empId}`)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataFieldInfo = async () => {\r\n const respone = await fetch(\"api/MasterData/FieldInfo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataReportTem = async () => {\r\n const respone = await fetch(\"api/MasterData/GetReportTem\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetFontList = async () => {\r\n const respone = await fetch(\"api/MasterData/FontList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataBrowserAgent = async () => {\r\n return fetch(\"api/MasterData/GetBrowserAgent\")\r\n .then((response) => response.json() as Promise)\r\n .then((data: any[]) => {\r\n if (data.length > 0) {\r\n let mstData = {\r\n browsers: (data[0].value1 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim().toLowerCase()),\r\n messages: (data[0].value2 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim()),\r\n };\r\n return mstData;\r\n } else {\r\n return null;\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(GetMasterDataBrowserAgent.name, \":\", err);\r\n return Promise.reject(err);\r\n });\r\n};\r\n","import { DataTable } from \"primereact/datatable\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { RadioButtonComponents } from \"../RadioButtonComponents/RadioButtonComponents\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { Chips } from \"primereact/chips\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../ButtonComponents/ButtonComponents\";\r\nimport { DatePicker } from \"antd\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetReportSetting } from \"../../Services/MasterDataService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { UserContext, useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n reportTemp: IReportModel;\r\n setReportColumns: (value: any[]) => void;\r\n setTableData: (value: any[]) => void;\r\n setGettingreport: (value: boolean) => void;\r\n}\r\n\r\nconst SelectedFieldComponent = ({\r\n reportTemp,\r\n setReportColumns,\r\n setTableData,\r\n setGettingreport,\r\n}: Props) => {\r\n const { control, setValue, handleSubmit } = useForm({\r\n defaultValues: reportTemp,\r\n });\r\n\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [userData] = useUserContext();\r\n const [rtcon, setRtcon] = useState();\r\n\r\n useEffect(() => {\r\n findSelected();\r\n fecthMasterData();\r\n }, []);\r\n\r\n const fecthMasterData = async () => {\r\n try {\r\n const _rtcon = await GetReportSetting();\r\n if (_rtcon) {\r\n let value: string = _rtcon[0]?.value2?.split(\"|\");\r\n setRtcon(value);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const findSelected = () => {\r\n try {\r\n const _selectedfieldlist = reportTemp.Selectedfieldlist;\r\n const _selectedfieldlistfilter = reportTemp.Selectedfieldlistfilter;\r\n\r\n if (_selectedfieldlist) {\r\n const selected = _selectedfieldlist.filter((field: any) => {\r\n return _selectedfieldlistfilter?.find(\r\n (filter: any) => field.key === filter.FieldCode\r\n );\r\n });\r\n setValue(\"Selectedfieldlistfilter\", _selectedfieldlistfilter);\r\n setSelectedField(selected);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function formatDate(date: string) {\r\n try {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n } catch (error) {\r\n return date;\r\n }\r\n }\r\n\r\n const validateFun = (data: any) => {\r\n let isPass = true;\r\n try {\r\n if (rtcon?.length > 0) {\r\n const request_date = data.Selectedfieldlistfilter.find(\r\n (e: any) => e.FieldCode.toLowerCase() === rtcon[0]\r\n );\r\n if (!request_date) {\r\n isPass = false;\r\n confirmDialog({\r\n message: () => {\r\n return (\r\n <>\r\n {\r\n \"Please select field Request Date for data search condition after click Generate Report button! / กรุณาเลือก field Request Date เพื่อเป็นเงื่อนไขในการค้นหาข้อมูลก่อนกดปุ่ม Generate Report !\"\r\n }\r\n \r\n );\r\n },\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date To / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date ถึง !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else {\r\n const dateForm = getDateValue(request_date.FieldTextFrom);\r\n const dateTo = getDateValue(request_date.FieldTextTo);\r\n const diffDays = dateTo.diff(dateForm, \"days\");\r\n if (diffDays > rtcon[1]) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select field Request Date difference between \" +\r\n rtcon[1] +\r\n \"! / \" +\r\n \"กรุณาเลือก field Request Date ที่มีระยะห่างไม่เกิน \" +\r\n rtcon[1] +\r\n \"!\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n isPass = false;\r\n }\r\n\r\n return isPass;\r\n };\r\n\r\n const onSubmit = (data: any) => {\r\n if (validateFun(data)) {\r\n setGettingreport(true);\r\n data.Selectedfieldlistfilter?.map((e: any) => {\r\n try {\r\n if (e.FieldText && typeof e.FieldText !== \"string\") {\r\n e.FieldText = e.FieldText.join(\"|\");\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n });\r\n fecthDataReport(\r\n data.ReporttemplateID,\r\n JSON.stringify(data.Selectedfieldlistfilter)\r\n );\r\n }\r\n };\r\n\r\n const fecthDataReport = async (reportId: number, data: string) => {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n FavoritesItem: data,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n if (_dataDynamic) {\r\n if (_dataDynamic.FieldCollection && _dataDynamic.FieldCollection !== \"\") {\r\n const fieldCollection: any[] = JSON.parse(_dataDynamic.FieldCollection);\r\n let numCols: string[] = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n fieldCollection.forEach((col: any) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push(col.key);\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col]) {\r\n data[col] = Number(data[col])?.toLocaleString(\"en-US\", {\r\n minimumFractionDigits: 2,\r\n });\r\n }\r\n });\r\n });\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n\r\n setTableData(_dataDynamic.dt_Report);\r\n setGettingreport(false);\r\n }\r\n };\r\n\r\n const getChipValue = (fieldValue?: any) => {\r\n let _chip: any[] = [];\r\n if (fieldValue) {\r\n if (typeof fieldValue === \"string\") {\r\n _chip = fieldValue.split(\"|\");\r\n } else {\r\n _chip = fieldValue;\r\n }\r\n return _chip;\r\n }\r\n };\r\n\r\n function onChangeSelectField(fieldValue: any[], onChange: any) {\r\n let _filters: any[] = [];\r\n selectedField.forEach((field: any) => {\r\n const exitFilter = fieldValue.find(\r\n (filter: any) => filter.FieldCode === field.key\r\n );\r\n if (exitFilter) {\r\n _filters.push(exitFilter);\r\n } else {\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: field.key,\r\n FieldDisplay: field.label,\r\n IsExcludeBlankData: true,\r\n FieldType: field.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: field.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: field.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n _filters.push(_objJson);\r\n }\r\n });\r\n if (JSON.stringify(fieldValue) !== JSON.stringify(_filters)) {\r\n onChange(_filters);\r\n }\r\n return _filters;\r\n }\r\n\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"table=>dateValue\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n })\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n selection={selectedField}\r\n onSelectionChange={(e: any) => {\r\n setSelectedField(e.value);\r\n }}\r\n // rowClassName={rowClassName}\r\n // isDataSelectable={isRowSelectable}\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\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

Filter Value

\r\n
\r\n
\r\n (\r\n setFilterValue(e.Value)}\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextFrom\r\n ? getDateValue(rowData.FieldTextFrom)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n {\r\n rowData.IsTodayFrom = e;\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={\r\n rowData.IsTodayFrom === true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextFrom =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextFrom = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n rowData.FilterParameter =\r\n e.value === \"Contains\"\r\n ? \"Like\"\r\n : e.value === \"Not Contains\"\r\n ? \"Not Like\"\r\n : e.value;\r\n if (field?.value) {\r\n field.value[option.rowIndex] = rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextTo\r\n ? getDateValue(rowData.FieldTextTo)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n To (\r\n {\r\n rowData.IsTodayTo = e;\r\n console.log(\"report=>field\", field);\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={rowData.IsTodayTo === true}\r\n labelProps={\"\"}\r\n keyProps={\"Today\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextTo =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextTo = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n if (field.value) {\r\n field.value[option.rowIndex].FieldText =\r\n e.value;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.target.value !== \"\") {\r\n if (field.value) {\r\n field.value[\r\n option.rowIndex\r\n ].FieldText.push(e.target.value);\r\n field.onChange(field.value);\r\n }\r\n }\r\n e.target.value = \"\";\r\n }}\r\n separator=\"|\"\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SelectedFieldComponent;\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ReportTemplateSelectByReportID } from \"../../Services/ReportService\";\r\nimport { Popover } from \"antd\";\r\n\r\ntype Props = {};\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n // isAutoReport: string;\r\n};\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst DynamicReportFix = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n // let { isAutoReport } = useParams();\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [data, setData] = useState([]);\r\n const [_isAutoReport, setIsAutoReport] = useState(true);\r\n const [reportTemp, setReportTemp] = useState(\r\n reportModelIReportModel\r\n );\r\n const [_reportName, setReportName] = useState(\"\");\r\n const [reportColumns, setReportColumns] = useState();\r\n const [gettingFilter, setGettingFilter] = useState(false);\r\n const [gettingReport, setGettingreport] = useState(true);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n fecthData();\r\n }, []);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const fecthData = async () => {\r\n try {\r\n const dd = await CheckAutoReport();\r\n\r\n if (dd) {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n\r\n if (\r\n _dataDynamic.FieldCollection &&\r\n _dataDynamic.FieldCollection !== \"\"\r\n ) {\r\n const fieldCollection: any[] = JSON.parse(\r\n _dataDynamic.FieldCollection\r\n );\r\n\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n let atCols: string[] = [];\r\n fieldCollection.forEach((col: any, index: number) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"at\") {\r\n atCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach(\r\n (col: { key: string; suffix?: string; decimal?: number }) => {\r\n if (col.key !== \"Memo_MemoId\") {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n data[col.key] =\r\n Number(data[col.key])?.toLocaleString(\"en-US\", {\r\n minimumFractionDigits: col?.decimal,\r\n }) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n const symbol =\r\n col.symbol && col.symbol !== \"\" ? col.symbol : \" \";\r\n let newDate = moment(new Date(data[col.key]))\r\n .format(\"DD\" + symbol + \"MMM\" + symbol + \"YYYY\")\r\n .toString();\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n if (atCols.length > 0) {\r\n atCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n const [nameFile, linkFile] = data[col.key].split(\"|\");\r\n data[col.key] = (\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"999\",\r\n }}\r\n />\r\n \r\n );\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n setReportName(_dataDynamic.ReportName);\r\n setData([..._dataDynamic.dt_Report]);\r\n setGettingreport(false);\r\n } else {\r\n setGettingFilter(true);\r\n const _reportTemp: any = await ReportTemplateSelectByReportID(\r\n Number(reportId)\r\n );\r\n setReportName(reportName);\r\n if (_reportTemp) {\r\n setReportTemp(_reportTemp);\r\n setData([]);\r\n }\r\n setGettingFilter(false);\r\n setGettingreport(false);\r\n }\r\n setIsAutoReport(dd);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n console.log(\"table=>isEnable\", isEnable);\r\n\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{_reportName + \"(\" + itemsCount + \")\"}

\r\n \r\n \r\n }\r\n onClickProps={() => {\r\n history.push(\"/DynamicReport?action=back\");\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n {/* {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n {_isAutoReport ? (\r\n <>\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n panelTemplate(option, \"Filter\")\r\n }\r\n toggleable\r\n >\r\n {!gettingFilter && (\r\n \r\n )}\r\n \r\n \r\n panelTemplate(option, \"Report\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n {gettingReport ? (\r\n <>\r\n {/* */}\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n{\r\n /* if (isAutoReport) {\r\n return (\r\n \r\n
\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return
DynamicReportFix
;\r\n } */\r\n}\r\n{\r\n /* } */\r\n}\r\nexport default DynamicReportFix;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory, useRouteMatch, Switch, Route } from \"react-router-dom\";\r\nimport { DynamicReport } from \"./DynamicReport\";\r\nimport \"./index.css\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport {\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport {\r\n DeleteReport,\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst ReportScreen = (props: Props) => {\r\n const text = \"Report List\";\r\n const location = useLocation();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [apiName, setApiName] = useState(\r\n location.pathname.replace(\"/\", \"\")\r\n );\r\n const { isLoad, setLoad } = useLoading();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const [empList, setEmpList] = useState([]);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [isDelete, setIsDelete] = useState(false);\r\n const [editReport, setEditReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [data, setData] = useState();\r\n let history = useHistory();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const { url } = useRouteMatch();\r\n const [isAdmin, setIsAdmin] = useState();\r\n // const [emp_data, setEmp_data] = useState();\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n fetchTemplate();\r\n fetchEmployee();\r\n fetchReport();\r\n console.log(\"table=>5555555555555555\");\r\n\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n async function fetchEmployee() {\r\n setEmpList([...(await GetAllEmployee())]);\r\n }\r\n\r\n // const actionBodyTemplate = (rowData: any) => {\r\n // try {\r\n // const employee = empList.filter((e: any) => {\r\n // return e.EmployeeId === rowData.CreatedBy;\r\n // });\r\n // if (empData.employeeData.Lang === \"TH\") {\r\n // rowData.CreatedByName = employee[0]?.NameTh;\r\n // } else {\r\n // rowData.CreatedByName = employee[0]?.NameEn;\r\n // }\r\n // if (empData.employeeData.EmployeeId === rowData.CreatedBy) {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n // console.log(\r\n // \"rowData.ReportTemplateId\",\r\n // rowData.ReportTemplateId\r\n // );\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // {\r\n // label: \"Delete\",\r\n // icon: \"pi pi-trash\",\r\n // command: () => {\r\n // confirmDialog({\r\n // message: \"Do you want to delete this report.\",\r\n // header: \"Delete\",\r\n // icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName: \"hide\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // accept: async () => {\r\n // const res = await DeleteReport(\r\n // rowData.ReportTemplateId\r\n // );\r\n // if (res) {\r\n // setOnLoading(true);\r\n // fetchReport();\r\n // }\r\n // },\r\n // });\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // }\r\n // } catch (error) {\r\n // console.log(\"report=>error\", error);\r\n // }\r\n // };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n async function fetchReport() {\r\n try {\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ EmployeeId: userId?.toString() }),\r\n });\r\n setData(_dataDynamic);\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n console.log(\"_dataTemplatee\", _dataTemplatee);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = empList.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n console.log(\"table=>isAdmin\", isAdmin);\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {apiName.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\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\nexport default withPerMission(ReportScreen);\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport WebViewer from \"@pdftron/webviewer\";\r\nimport \"./ShowContentScreen.css\";\r\nimport { Spin } from \"antd\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Empty } from \"antd\";\r\ninterface Props {\r\n pdfData: string;\r\n onLoading: boolean;\r\n isShowPdfData: boolean;\r\n}\r\n\r\nexport const ShowContentScreen = (props: Props) => {\r\n const viewerDiv = useRef(null);\r\n useEffect(() => {\r\n console.log({ pdfdff: props.pdfData });\r\n }, [props.pdfData]);\r\n\r\n // useEffect(() => {\r\n // WebViewer(\r\n // {\r\n // path: \"lib\",\r\n // initialDoc:\r\n // \"https://testwolf18.wolfapprove.com/TempAttachment/ee864f46a1f14a54bf26f8d281719eb1/preview_TEST00-2021-000001.pdf\",\r\n // },\r\n // viewerDiv.current as HTMLDivElement\r\n // ).then((instance: any) => {});\r\n // }, []);\r\n // return
;\r\n return (\r\n
\r\n {props.isShowPdfData ? (\r\n props.onLoading ? (\r\n \r\n ) : props.pdfData.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\ninterface Props {\r\n approvals?: any;\r\n requestor?: any;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowCardComponent = (props: Props) => {\r\n // const [flowCardData, setFlowCardData] = useState()\r\n const [seq, setSeq] = useState();\r\n const [current, setCurrent] = useState();\r\n\r\n const highlight = () => {\r\n if (props.memoDetail) {\r\n setCurrent(\r\n props.memoDetail.requestDetails.memoDetail.current_approval_level\r\n );\r\n if (current) {\r\n props.memoDetail.requestDetails.listApprovalDetails.map((e: any) => {\r\n if (current === e.sequence) {\r\n setSeq(e.sequence);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n highlight();\r\n }, [current, props.memoDetail.memoid]);\r\n return (\r\n <>\r\n {props.approvals && props.approvals.sequence === seq ? (\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn\r\n .substring(0, 2)\r\n .toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n {/* change text color */}\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn\r\n .substring(0, 2)\r\n .toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlowCardComponent } from \"../../components/WorklistScreenComponent/FlowCardComponent\";\r\nimport { IApproval } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport \"./FlowScreen.css\";\r\ninterface Props {\r\n approvals?: IApproval[];\r\n requestor?: IUserModel;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowScreen = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n
\r\n

Flow

\r\n
\r\n

{t(\"Request By\")}

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

Approvals

\r\n {props.approvals &&\r\n props.approvals.map((data: any, idx: any) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Table, Tag, Space, Divider, Row, Col } from \"antd\";\r\nimport \"./HistoryComponent.css\";\r\nimport moment from \"moment\";\r\nimport { AiFillAndroid, AiFillApple } from \"react-icons/ai\";\r\nimport { FaLine } from \"react-icons/fa\";\r\nimport { IoDesktopOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Last } from \"react-bootstrap/esm/PageItem\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n listHistoryDetails?: any;\r\n listLineApprove?: any;\r\n t: any;\r\n}\r\nexport const HistoryComponent = (props: Props) => {\r\n const [data, setData] = useState([]);\r\n const [dataDialog, setDataDialog] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n const fetchData = () => {\r\n const responeWorkList = props.listHistoryDetails;\r\n const sortDate = responeWorkList?.sort((a: any, b: any) => {\r\n const aa = moment(a.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n const bb = moment(b.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(aa).diff(bb);\r\n });\r\n setData(sortDate);\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy , HH:mm:ss\");\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const formatAction = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n if (value === \"submit\") {\r\n return props.t(\"Submitted\");\r\n } else if (value === \"recall\") {\r\n return props.t(\"Recalled\");\r\n } else if (value === \"rework\") {\r\n return props.t(\"Reworked\");\r\n } else if (value === \"reject\") {\r\n return props.t(\"Rejected\");\r\n } else if (value === \"approve\") {\r\n return props.t(\"Approved\");\r\n } else if (value === \"draft\") {\r\n return props.t(\"Draft\");\r\n } else if (value === \"return\") {\r\n return props.t(\"Return\");\r\n } else if (value === \"assign\") {\r\n return props.t(\"Assign\");\r\n } else if (value === \"request comment\") {\r\n return props.t(\"Request Comment\");\r\n } else if (value === \"reply\") {\r\n return props.t(\"Reply\");\r\n } else {\r\n return value;\r\n }\r\n }\r\n };\r\n const convertAction = (data: any) => {\r\n return formatAction(data);\r\n };\r\n const formatPlatform = (value: string) => {\r\n if (value === \"web\") {\r\n return (\r\n

\r\n เว็ปไซต์ WOLF Approve | Web\r\n

\r\n );\r\n }\r\n if (value === \"ios\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | IOS\r\n

\r\n );\r\n }\r\n if (value === \"android\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Andriod\r\n

\r\n );\r\n }\r\n if (value === \"line\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Line\r\n

\r\n );\r\n }\r\n };\r\n const convertPlatform = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n const bgcolor = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n\r\n function convertHtml(_comment: any, _textAbstract?: boolean) {\r\n let response: string = \"\";\r\n if (_textAbstract) {\r\n response = textAbstract(_comment, 200);\r\n } else {\r\n response =_comment;\r\n }\r\n console.log(\"tttt\", response);\r\n return
;\r\n }\r\n function textAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n console.log(text, \"last\");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n function dialogDetailText() {\r\n return (\r\n setVisibleDialog(false)}\r\n dismissableMask\r\n draggable={false}\r\n >\r\n

\r\n

\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_name_en\r\n : dataDialog.actor_name_th}\r\n
\r\n {dataDialog.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"return\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n Position :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_position_name_en\r\n : dataDialog.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {dataDialog.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")} :{\" \"}\r\n {convertDate(dataDialog.action_date)}\r\n

\r\n \r\n {convertHtml(dataDialog.comment)}\r\n

\r\n
\r\n
\r\n
\r\n {convertPlatform(dataDialog.platform)}\r\n
\r\n
\r\n

\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {dataDialog && dialogDetailText()}\r\n

{props.t(\"history\")}

\r\n\r\n
\r\n {data.length > 0 &&\r\n data.map((data, idx) => (\r\n
\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_name_en\r\n : data.actor_name_th}\r\n
\r\n {data.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"return\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n {props.t(\"Position\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_position_name_en\r\n : data.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {data.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")}: {convertDate(data.action_date)}\r\n

\r\n \r\n {convertHtml(data.comment, true)}\r\n

\r\n {data?.comment && data?.comment?.length >= 200 && (\r\n

\r\n {\r\n setVisibleDialog(true);\r\n console.log(idx, \"idx\");\r\n setDataDialog(data);\r\n }}\r\n >\r\n {props.t(\"More\")}\r\n

\r\n

\r\n )}\r\n
\r\n
\r\n
{convertPlatform(data.platform)}
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { HistoryCardComponent } from \"../../components/WorklistScreenComponent/HistoryCardComponent\";\r\nimport { IWorklistHistory } from \"../../IRequestModel/IListHistoryDetailsModel\";\r\nimport \"./HistoryScreen.css\";\r\ninterface Props {\r\n historyData?: IWorklistHistory[];\r\n}\r\n\r\nexport const HistoryScreen = (props: Props) => {\r\n const [historyData, setHistoryData] = useState(\r\n props.historyData ? props.historyData : []\r\n );\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n return (\r\n
\r\n \r\n {/* {props.historyData.map((_data: any, idx: any) => (\r\n // \r\n undefined} />\r\n ))} */}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\nimport moment from \"moment\";\r\nimport {\r\n BsFileEarmarkPdfFill,\r\n BsFileEarmarkExcelFill,\r\n BsFillFileEarmarkTextFill,\r\n} from \"react-icons/bs\";\r\nimport { FaFilePowerpoint, FaFileWord } from \"react-icons/fa\";\r\ninterface Props {\r\n data: any;\r\n}\r\n\r\nexport const AttachmentCardComponent = (props: Props) => {\r\n const [comploteLink, setComploteLink] = useState(\"\");\r\n const formatDate = () => {\r\n let momentObj = moment(props.data.attach_date, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , h:mm\");\r\n };\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n showFile();\r\n }, []);\r\n\r\n const showFile = async () => {\r\n let component;\r\n const attachPath = props.data.attach_path;\r\n var pathArray = attachPath.split(\"/\");\r\n let comploteLink = \"\";\r\n const _link = attachPath\r\n ? attachPath.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + attachPath\r\n : attachPath\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n comploteLink = _link;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n comploteLink = `https://${_link.replaceAll(\"https://\", \"\")}`;\r\n // window.open(\r\n // `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else if (_link.includes(\"http\")) {\r\n comploteLink = `http://${_link.replaceAll(\"http://\", \"\")}`;\r\n // window.open(\r\n // `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else {\r\n comploteLink = `https://${_link}`;\r\n // window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n comploteLink = `${protocol}//${_userData.TinyURL}${_link}`;\r\n // window.open(\r\n // `${protocol}//${_userData.TinyURL}${_link}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n comploteLink = `${_link}`;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n setComploteLink(comploteLink);\r\n };\r\n\r\n const getFileIcon = (attachPath: string) => {\r\n if (attachPath.endsWith(\"pdf\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"png\") ||\r\n attachPath.endsWith(\"jpg\") ||\r\n attachPath.endsWith(\"jpeg\")\r\n ) {\r\n return \"flow-img\";\r\n } else if (attachPath.endsWith(\"doc\") || attachPath.endsWith(\"docx\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"csv\") ||\r\n attachPath.endsWith(\"xls\") ||\r\n attachPath.endsWith(\"xlsx\")\r\n ) {\r\n return ;\r\n } else if (attachPath.endsWith(\"pptx\") || attachPath.endsWith(\"ppt\")) {\r\n return ;\r\n } else if (attachPath.endsWith(\"txt\")) {\r\n return ;\r\n }\r\n };\r\n\r\n // const tinyURL = window.localStorage.getItem(\"tinyUrl\");\r\n return (\r\n <>\r\n {props.data && (\r\n window.open(comploteLink, \"_blank\", \"noreferrer\")}\r\n >\r\n
\r\n {getFileIcon(props.data.attach_path)}\r\n
\r\n
\r\n

{props.data.attach_file}

\r\n

15.54 MB

\r\n

{props.data.actor.NameEn}

\r\n

{props.data.description}

\r\n
\r\n

{formatDate()}

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { AttachmentCardComponent } from \"../../components/WorklistScreenComponent/AttachmentCardComponent\";\r\nimport { IAttachFile } from \"../../IRequestModel/IAttachfile\";\r\nimport \"./AttachmentScreen.css\";\r\ninterface Props {\r\n attachFiles?: IAttachFile[];\r\n}\r\n\r\nexport const AttachmentScreen = (props: Props) => {\r\n // const [attachFile, setAttachFile] = useState([]);\r\n // useEffect(() => {\r\n // setAttachFile([...props.attachFiles]);\r\n // }, [props.attachFiles]);\r\n return (\r\n
\r\n {props.attachFiles &&\r\n props.attachFiles.length > 0 &&\r\n props.attachFiles.map((data: any, idx: any) => (\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n","import { InputTextarea } from \"primereact/inputtextarea\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./CommentComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { BiCommentDetail } from \"react-icons/bi\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n// import { Editor } from \"primereact/editor\";\\\r\nimport \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\nimport \"tinymce/icons/default\";\r\nimport \"tinymce/themes/silver\";\r\nimport \"tinymce/plugins/paste\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/autolink\";\r\nimport \"tinymce/plugins/autosave\";\r\nimport \"tinymce/plugins/charmap\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/imagetools\";\r\nimport \"tinymce/plugins/textpattern\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/advlist\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"tinymce/plugins/print\";\r\nimport \"tinymce/plugins/preview\";\r\nimport \"tinymce/plugins/hr\";\r\nimport \"tinymce/plugins/anchor\";\r\nimport \"tinymce/plugins/pagebreak\";\r\nimport \"tinymce/plugins/searchreplace\";\r\nimport \"tinymce/plugins/wordcount\";\r\nimport \"tinymce/plugins/insertdatetime\";\r\nimport \"tinymce/plugins/media\";\r\nimport \"tinymce/plugins/nonbreaking\";\r\nimport \"tinymce/plugins/save\";\r\nimport \"tinymce/plugins/contextmenu\";\r\nimport \"tinymce/plugins/directionality\";\r\nimport \"tinymce/plugins/template\";\r\nimport \"tinymce/plugins/textcolor\";\r\nimport \"tinymce/plugins/colorpicker\";\r\nimport \"tinymce/skins/ui/oxide/skin.min.css\";\r\nimport \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { Link } from \"react-router-dom\";\r\ninterface Props {\r\n buttonType: any;\r\n commentStatus: boolean;\r\n setCommentStatus: any;\r\n require: boolean;\r\n onUpdate?: (\r\n // data: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => any;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n pageName: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport default function CommentComponent(props: Props) {\r\n const { toggleAlert } = useAlert();\r\n const [comment, setComment] = useState(\"\");\r\n const [placeholder, setPlaceholder] = useState(\"แสดงความคิดเห็น...\");\r\n const [isInvalid, setInvalid] = useState(true);\r\n const [dataEmployeeList, setDataEmployeeList] = useState();\r\n const [dataEmployee, setDataEmployee] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [selectedEmployee, setSelectedEmployee] = useState([]);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const toast = useRef();\r\n const [isMultiAssign, setIsMultiAssign] = useState(\r\n sessionStorage.getItem(\"isMultiAssign\") == \"true\"\r\n );\r\n const [isMultiRequestComment, setIsMultiRequestComment] = useState(\r\n sessionStorage.getItem(\"isMultiRequestComment\") == \"true\"\r\n );\r\n const [showAll, setShowAll] = useState(false);\r\n const [selectionMode] = useState(\r\n props.buttonType == \"request comment\" && isMultiRequestComment\r\n ? \"multiple\"\r\n : props.buttonType == \"assign\" && isMultiAssign\r\n ? \"multiple\"\r\n : \"single\"\r\n );\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n\r\n useEffect(() => {}, [props.lineApproval]);\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n setIsLoading(false);\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n function showModal(show = true) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(show);\r\n }\r\n\r\n const showError = () => {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `Comment field warning.`,\r\n type: \"warning\",\r\n });\r\n };\r\n const ClearMultiSelectEmployee = () => {\r\n setSelectedEmployee([]);\r\n };\r\n const ConfirmMultiSelectEmployee = () => {\r\n if (selectedEmployee.length == 0) {\r\n toggleAlert({\r\n description: `Please select at least one employee.`,\r\n message: `Select employee warning.`,\r\n type: \"warning\",\r\n });\r\n } else {\r\n let employee = selectedEmployee.reduce(\r\n (r, n) => {\r\n r.NameEn.push(n.EmployeeId);\r\n return r;\r\n },\r\n { EmployeeId: 0, NameEn: [] }\r\n );\r\n employee.NameEn = employee.NameEn.join(\",\");\r\n setVisibleConfirmDialog(true);\r\n setDataEmployee({ data: employee });\r\n }\r\n };\r\n const EmployeeDialogFooter = () => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n ClearMultiSelectEmployee()}\r\n >\r\n Clear\r\n \r\n \r\n \r\n ConfirmMultiSelectEmployee()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n const EmployeeDialog = () => {\r\n return (\r\n <>\r\n showModal(false)}\r\n draggable={false}\r\n resizable={false}\r\n closable={true}\r\n blockScroll\r\n footer={selectionMode == \"multiple\" ? EmployeeDialogFooter : false}\r\n >\r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n const onSelectionChange = (event: any) => {\r\n if (event.value) {\r\n if (selectionMode == \"single\") {\r\n setVisibleConfirmDialog(true);\r\n if (isMultiAssign || isMultiRequestComment) {\r\n setDataEmployee({\r\n data: { EmployeeId: 0, NameEn: String(event.value.EmployeeId) },\r\n });\r\n } else {\r\n setDataEmployee({ data: event.value });\r\n }\r\n } else if (selectionMode == \"multiple\") {\r\n setSelectedEmployee(event.value);\r\n }\r\n }\r\n };\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Do you want to confirm this action?\"\r\n header=\"Confirmation\"\r\n icon=\"p-confirm-dialog-icon pi pi-info-circle\"\r\n acceptClassName=\"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n accept={() => {\r\n sentToMemo(\r\n comment,\r\n dataEmployee.data.EmployeeId,\r\n dataEmployee.data.NameEn\r\n );\r\n }}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setDataEmployee(null);\r\n }}\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const HeaderDialogComment = () => {\r\n try {\r\n return (\r\n <>\r\n {(props.buttonType === \"submit\" || props.buttonType === \"approve\") &&\r\n props.lineApproval?.filter((line) =>\r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n ).length > 0 && (\r\n <>\r\n
\r\n

สายอนุมัติคนถัดไป

\r\n \r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n )\r\n ?.map((e) => {\r\n return {\r\n name: e.approver[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ],\r\n position:\r\n e.approver[\r\n userData.Lang === \"EN\"\r\n ? \"PositionNameEn\"\r\n : \"PositionNameTh\"\r\n ],\r\n department:\r\n e.approver[\r\n userData.Lang === \"EN\"\r\n ? \"DepartmentNameEn\"\r\n : \"DepartmentNameTh\"\r\n ],\r\n signature:\r\n e[\r\n userData.Lang === \"EN\"\r\n ? \"signature_en\"\r\n : \"signature_th\"\r\n ],\r\n };\r\n })}\r\n >\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n />\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n />\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n />\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n />\r\n \r\n {Math.max(...props.lineApproval.map((o) => o.sequence)) -\r\n (props.approvalSequence + 1) >\r\n 0 && (\r\n {\r\n setShowAll(!showAll);\r\n }}\r\n >\r\n {showAll ? (\r\n <>ย่อ\r\n ) : (\r\n <>\r\n และอีก{\" \"}\r\n {Math.max(\r\n ...props.lineApproval.map((o) => o.sequence)\r\n ) -\r\n (props.approvalSequence + 1)}{\" \"}\r\n รายการ\r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n
\r\n

Comment

\r\n {props.require === true && (\r\n

\r\n *\r\n

\r\n )}\r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.error(error);\r\n return <>;\r\n }\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n props.setCommentStatus(false);\r\n setComment(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n {\r\n ConfirmCheck();\r\n }}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n function ConfirmCheck() {\r\n setSearchData(dataEmployeeList);\r\n if (\r\n props.buttonType === \"submit\" ||\r\n props.buttonType === \"draft\" ||\r\n props.buttonType === \"approve\"\r\n ) {\r\n setInvalid(true);\r\n sentToMemo(comment);\r\n } else if (\r\n props.buttonType === \"cancel\" ||\r\n props.buttonType === \"recall\" ||\r\n props.buttonType === \"rework\" ||\r\n props.buttonType === \"reject\" ||\r\n props.buttonType === \"return\" ||\r\n props.buttonType === \"reply\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n sentToMemo(comment);\r\n }\r\n } else if (\r\n props.buttonType === \"assign\" ||\r\n props.buttonType === \"request comment\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n showModal();\r\n }\r\n }\r\n }\r\n const sentToMemo = (\r\n inputComment: string,\r\n waiting_for_id?: number,\r\n waiting_for?: string\r\n ) => {\r\n console.log({ inputComment });\r\n props.setCommentStatus(false);\r\n if (props.pageName.trim() === \"WorkList\" && props.onUpdate) {\r\n props.onUpdate(inputComment, waiting_for, waiting_for_id);\r\n\r\n // props.handleSubmit((e: any) => {\r\n // props.onSubmit(e, {\r\n // buttonType: props.buttonType,\r\n // inputComment: inputComment,\r\n // waitingFor: waiting_for,\r\n // waitingForId: waiting_for_id,\r\n // });\r\n // })();\r\n } else if (props.pageName.trim() === \"Request\") {\r\n console.log(\"request=>\", {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n\r\n props.handleSubmit((e: any) => {\r\n console.log(\"request=>e\", e);\r\n props.onSubmit(e, {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n })();\r\n }\r\n };\r\n const headerEditor = () => {\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n props.setCommentStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n {HeaderDialogComment()}\r\n console.log(props.buttonType)}\r\n >\r\n {\r\n setIsLoading(false);\r\n }}\r\n tinymceScriptSrc={\r\n process.env.PUBLIC_URL + \"/tinymce/js/tinymce/tinymce.min.js\"\r\n }\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: \"\",\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"template textcolor colorpicker textpattern imagetools image paste\",\r\n \"link\",\r\n ],\r\n toolbar: \"\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\" +\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n }}\r\n value={comment}\r\n onEditorChange={(content: any, editor: any) => {\r\n console.log({ content });\r\n\r\n setComment(content);\r\n // handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n \r\n \r\n {EmployeeDialog()}\r\n {confirmUploadDialog()}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend, BiCommentDetail } from \"react-icons/bi\";\r\nimport { IoCheckmarkCircleOutline } from \"react-icons/io5\";\r\n\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { MdOutlineCancel } from \"react-icons/md\";\r\nimport {\r\n IoMdCheckmarkCircleOutline,\r\n IoMdRefresh,\r\n IoMdArrowRoundBack,\r\n} from \"react-icons/io\";\r\nimport { RiDeleteBinLine, RiFileForbidLine } from \"react-icons/ri\";\r\nimport { BsArrowRight } from \"react-icons/bs\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n pageName: string;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n memoMenu: any;\r\n buttonType?: string;\r\n setButtonType: any;\r\n setSelectedView?: any;\r\n setCurPage?: any;\r\n onUpdate?: (\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoButtonComponent = (props: Props) => {\r\n const [memoMenuButton, setMemoMenuButton] = useState();\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n mapMemoButton(props.memoMenu);\r\n return memoMenuButton;\r\n }, [props.memoMenu, props.lineApproval]);\r\n\r\n const mapMemoButton = (menuData: any) => {\r\n if (typeof menuData !== \"undefined\") {\r\n const mapMenuData = menuData.map((data: any, idx: any) => {\r\n if (data.commandName === \"reply\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"reply\");\r\n setCommentStatus(true);\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"submit\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"approve\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"approve\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"return\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"return\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"discard\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"discard\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n {data.text}\r\n \r\n );\r\n }\r\n if (data.commandName === \"draft\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"draft\");\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"cancel\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"cancel\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"recall\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"recall\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"rework\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"rework\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"request comment\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"request comment\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"assign\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"assign\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"reject\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"reject\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n return <>;\r\n });\r\n setMemoMenuButton(mapMenuData);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
{memoMenuButton}
\r\n {commentStatus == true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { GetMemoDetail, GetMemoDetailById } from \"./MemoService\";\r\nimport { GetTemplateById } from \"./TemplateService\";\r\n\r\nexport const GeneratePDF = async (\r\n memoId: any,\r\n userData: IUserModel,\r\n requestDetail?: any\r\n) => {\r\n let _requestDetail: any = {};\r\n let dataJson: any = {};\r\n if (!requestDetail) {\r\n const responeMemoDetail = await GetMemoDetail({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n TemplateId: 0,\r\n DocumentCode: \"\",\r\n DocumentNo: \"\",\r\n\r\n actor: userData,\r\n });\r\n\r\n _requestDetail = responeMemoDetail.requestDetails;\r\n console.log({ requestDetail, memoId, responeMemoDetail });\r\n } else {\r\n _requestDetail = requestDetail;\r\n }\r\n\r\n _requestDetail.memoDetail.actor = userData;\r\n const responePreviewPDF = await fetch(`api/PreviewPdf/PreviewPdf`, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ MemoPage: _requestDetail }),\r\n });\r\n const respone = await responePreviewPDF.json();\r\n return respone;\r\n};\r\n\r\nexport const newGeneratePDF = async (memoId: any) => {\r\n const respone = await fetch(\"api/PreviewPdf/GenPreviewPDF\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoId),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/ic_history.70631641.svg\";","export default __webpack_public_path__ + \"static/media/ic_attachment_file.95c72623.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport { Badge, Space } from 'antd';\r\nimport IC_HISTORY from './../../../assets/ic_history.svg';\r\nimport IC_ATTACHMENT_FILE from './../../../assets/ic_attachment_file.svg'\r\n\r\ninterface BadgeNotificateProps {\r\n badgeSize?: \"default\" | \"small\";\r\n badgeColor?: string;\r\n dataDetail: any;\r\n requestData: any;\r\n dataMemo: any;\r\n type?: \"attachment\" | \"history\";\r\n children?: any;\r\n offset?: [number, number]; // [left, top]\r\n isCard?: boolean;\r\n}\r\n\r\nexport const BadgeNotificate = (props: BadgeNotificateProps) => {\r\n const [count, setCount] = useState(0)\r\n const [hasLastComment, setHasLastComment] = useState(false)\r\n\r\n useEffect(() => {\r\n setNotificate()\r\n })\r\n \r\n const setNotificate = () => {\r\n if(props.dataMemo){\r\n if(props.type === \"history\"){\r\n setHasLastComment(props.dataMemo?.IsMemoHistoryLastComment)\r\n setCount(props.dataMemo?.MemoHistoryAmount)\r\n }else{\r\n setCount(props.dataMemo?.MemoAttachFileAmount)\r\n }\r\n }else{\r\n let amountAttachment: number = 0;\r\n let history: any[] = [];\r\n let lastComment: boolean = false;\r\n\r\n if(props.dataDetail){\r\n let data = props.dataDetail\r\n amountAttachment = data?.attachfiles?.length;\r\n history = data?.history;\r\n }else if(props.requestData){\r\n const requestDetail = props.requestData;\r\n const request = requestDetail?.requestDetails\r\n amountAttachment = request?.listFileAttachDetails?.length\r\n history = request?.listHistoryDetails\r\n }\r\n history = history.sort((a: any, b: any) => a?.action_id - b?.action_id)\r\n lastComment = history.slice(-1).shift()?.comment !== \"\";\r\n let amountComment: number = history.filter((el: any) => el.comment !== \"\").length;\r\n let amount: number = 0\r\n if(props.type === \"attachment\"){\r\n amount = amountAttachment\r\n }else if(props.type === \"history\"){\r\n amount = amountComment\r\n setHasLastComment(lastComment)\r\n }\r\n setCount(amount)\r\n }\r\n }\r\n\r\n if(props.dataMemo){\r\n return (\r\n \r\n {count > 0 && (\r\n \r\n \r\n {props.type === \"attachment\" ? \"\" : \"\"}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n\r\n \r\n return (\r\n !props.dataDetail && !props.requestData \r\n ? props.children\r\n : (\r\n props.isCard\r\n ? ( count > 0 \r\n ?(\r\n {props.children}\r\n )\r\n : props.children\r\n )\r\n : (\r\n count > 0 \r\n ? (\r\n \r\n {props.children}\r\n \r\n )\r\n : props.children\r\n )\r\n )\r\n )\r\n}","import React, { useState, useEffect, FC } from \"react\";\r\nimport \"./DetailContentScreen.css\";\r\nimport { BsFileEarmarkRuledFill, BsClockHistory } from \"react-icons/bs\";\r\nimport { RiNodeTree } from \"react-icons/ri\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ShowContentScreen } from \"./ShowContentScreen\";\r\nimport { FlowScreen } from \"./FlowScreen\";\r\nimport { HistoryScreen } from \"./HistoryScreen\";\r\nimport { AttachmentScreen } from \"./AttachmentScreen\";\r\nimport { IoDocumentText, IoOpenOutline } from \"react-icons/io5\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { GeneratePDF, newGeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { IWorklistDetail } from \"../../IRequestModel/IWorklistModel\";\r\nimport { GetMemoDetail } from \"../../Services/MemoService\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\n\r\ninterface Props {\r\n data?: IWorklistDetail;\r\n menuButton: any;\r\n onUpdate: (\r\n type: any,\r\n memoId: any,\r\n comment: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n isShowPdfData: boolean;\r\n setButtonType: any;\r\n buttonType: string;\r\n onDetailLoading: any;\r\n}\r\n\r\nexport const DetailContentScreen: FC = ({\r\n data,\r\n menuButton,\r\n onUpdate,\r\n isShowPdfData,\r\n setButtonType,\r\n buttonType,\r\n onDetailLoading,\r\n}) => {\r\n const [userData] = useUserContext();\r\n const [page, setPage] = useState(1);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [pdfData, setPdfData] = useState(\"\");\r\n const [memoMenu, setMemoMenu] = useState();\r\n const [memo, setMemo] = useState();\r\n\r\n useEffect(() => {\r\n setOnLoading(true);\r\n setPage(1);\r\n onFetchPdf(data?.MemoID);\r\n Fetch();\r\n \r\n }, [data]);\r\n // useEffect(() => {\r\n // Fetch();\r\n // }, []);\r\n\r\n useEffect(() => {\r\n const menuButtonSort = menuButton.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMemoMenu(menuButtonSort);\r\n return;\r\n }, [menuButton]);\r\n const history = useHistory();\r\n\r\n async function onFetchPdf(memoId: any) {\r\n let responeData = await GeneratePDF(memoId, userData);\r\n // let responeData = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${memoId}`)).json();\r\n\r\n setOnLoading(false);\r\n\r\n setPdfData(responeData);\r\n }\r\n async function Fetch() {\r\n const request = {\r\n Memoid: data?.MemoID,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n const response = await GetMemoDetail(request);\r\n\r\n setMemo(response);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setPage(1);\r\n }}\r\n >\r\n \r\n

Content

\r\n
\r\n setPage(2)}\r\n >\r\n \r\n

Flow

\r\n
\r\n\r\n setPage(3)}\r\n >\r\n \r\n

History

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n setPage(4)}\r\n >\r\n \r\n

Attachment

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n
\r\n {\r\n const _data = {\r\n MemoID: data?.MemoID,\r\n pdfData: pdfData,\r\n };\r\n history.push(`/Request?MemoID=${_data.MemoID}`, _data);\r\n }}\r\n />\r\n
\r\n \r\n {/* */}\r\n {onDetailLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {page === 1 && (\r\n \r\n )}\r\n {page === 2 && (\r\n \r\n )}\r\n {page === 3 && }\r\n {page === 4 && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n onUpdate(\r\n buttonType,\r\n data?.MemoID,\r\n comment,\r\n waiting_for,\r\n waiting_for_id\r\n )\r\n }\r\n pageName={\"WorkList\"}\r\n lineApproval={memo?.requestDetails?.listApprovalDetails}\r\n approvalSequence={\r\n memo?.requestDetails?.memoDetail?.current_approval_level\r\n }\r\n />\r\n
{\" \"}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { ConfigProvider, DatePicker, Space } from \"antd\";\r\nimport { BsCalendarDate } from \"react-icons/bs\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TimeRangePickerProps } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n disable?: boolean;\r\n dates: any;\r\n onSelectChange: (e: any, f: any) => void;\r\n isFullWidth: boolean;\r\n showIcon?: boolean;\r\n}\r\n\r\nexport const SelectDate = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const [dates, setDates] = useState(props.dates);\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n setDates(props.dates);\r\n }, [props.dates]);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n useEffect(() => {\r\n if (!isOpen && dates !== props.dates) {\r\n props.onSelectChange(dates, props.name);\r\n }\r\n }, [isOpen]);\r\n\r\n // const rangePresets: TimeRangePickerProps[\"presets\"] = [\r\n // { label: \"Today\", value: [dayjs(), dayjs().endOf(\"day\")] },\r\n // {\r\n // label: \"This Month\",\r\n // value: [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\r\n // },\r\n // {\r\n // label: \"This Year\",\r\n // value: [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\r\n // },\r\n // ];\r\n\r\n return (\r\n \r\n {props.showIcon === undefined && (\r\n \r\n )}\r\n {props.showIcon !== false && (\r\n \r\n )}\r\n setIsOpen(e)}\r\n className={\"custom-date\"}\r\n value={props.dates}\r\n suffixIcon={null}\r\n placeholder={[t(\"Start date\"), t(\"End date\")]}\r\n separator={}\r\n onCalendarChange={(val) => setDates(val)}\r\n onChange={(date) => {\r\n if (!date && dates !== date) {\r\n props.onSelectChange(date, props.name);\r\n }\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any[];\r\n disable?: boolean;\r\n\r\n onSelectChange: (text: string[], formSelect: string) => void;\r\n defaultVaue?: string[];\r\n}\r\n\r\nexport const MultiSelectDropdown = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]); \r\n const [selectValue, setSelectValue] = useState(\r\n props.defaultVaue ? props.defaultVaue : []\r\n );\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { Option } = Select;\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n console.log(props.values, \"values\");\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectValue(props.defaultVaue ? props.defaultVaue : []);\r\n }, [props.defaultVaue]);\r\n const onSelectAll = () => {\r\n let selected = []\r\n for (let i = 0; i < props.values.length; i++) {\r\n selected.push(props.values[i].value);\r\n }\r\n setSelectValue([...selected]);\r\n props.onSelectChange(selected, props.name);\r\n };\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n

\r\n setIsOpen(e)}\r\n mode=\"multiple\"\r\n allowClear\r\n style={{ width: \"100%\" }}\r\n placeholder={props.title}\r\n defaultValue={selectValue}\r\n value={selectValue}\r\n dropdownStyle={{ width: \"200px\" }}\r\n onClear={() => setSelectValue([])}\r\n onDeselect={(value: string) => {\r\n let selected = selectValue;\r\n const _selected = selected.filter(\r\n (valueFilter: any) => value != valueFilter\r\n );\r\n setSelectValue([..._selected]);\r\n }}\r\n onSelect={(value: string) => {\r\n let selected = selectValue;\r\n selected.push(value);\r\n setSelectValue([...selected]);\r\n }}\r\n onChange={(e: string[]) => props.onSelectChange(e, props.name)}\r\n dropdownRender={(menu) => (\r\n
\r\n onSelectAll()}\r\n >\r\n

{t(\"All\")}

\r\n
\r\n \r\n\r\n {menu}\r\n
\r\n )}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./SearchFilterComponent.css\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n onFilterChange: (text: string) => void;\r\n searchKeyword?: string;\r\n}\r\n\r\nexport const SearchFilterComponent = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n
\r\n
\r\n \r\n props.onFilterChange(e.target.value)}\r\n placeholder={t(\"Search\") || \"\"}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any;\r\n disable?: boolean;\r\n defaultValue?: string;\r\n alowClear?: boolean;\r\n onSelectChange: (text: string) => void;\r\n}\r\n\r\nexport const SelectDropdown = (props: Props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n setIsOpen(e)}\r\n value={props.defaultValue}\r\n allowClear={props.alowClear !== undefined ? false : true}\r\n style={{ width: \"100%\" }}\r\n placeholder=\"Please select\"\r\n onChange={(e: string) => props.onSelectChange(e)}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n
\r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { MultiSelectDropdown } from \"../../components/Select/MultiSelectDropdown\";\r\nimport { Divider } from \"antd\";\r\nimport { AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BsListTask } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { BiBuildings } from \"react-icons/bi\";\r\nimport { RiNodeTree, RiListCheck2 } from \"react-icons/ri\";\r\nimport { SearchFilterComponent } from \"../../components/SearchFilterComponent/SearchFilterComponent\";\r\nimport { SelectDropdown } from \"../../components/Select/SelectDropdown\";\r\nimport { Moment } from \"moment\";\r\nimport {\r\n ISearchWorklist,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n searchObject?: ISearchWorklist;\r\n onSelectChange: (\r\n value: string | string[] | [Moment, Moment],\r\n formSelect: WorklistSerachType,\r\n _date?: any\r\n ) => void;\r\n onSelectTask: (text: WorklistHeaderType) => void;\r\n formType: any[];\r\n formStatus: any[];\r\n allCompany: any[];\r\n allDepartment: any[];\r\n defaultTask: string;\r\n}\r\n\r\nconst WorkListSideBarElementUse = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const display = [\r\n {\r\n value: \"To Do List\",\r\n label: t(\"To Do List\"),\r\n },\r\n {\r\n value: \"In Process\",\r\n label: t(\"In Process\"),\r\n },\r\n {\r\n value: \"Related List\",\r\n label: t(\"Related List\"),\r\n },\r\n {\r\n value: \"Completed\",\r\n label: t(\"Completed\"),\r\n },\r\n {\r\n value: \"Cancelled\",\r\n label: t(\"Cancelled\"),\r\n },\r\n {\r\n value: \"Rejected\",\r\n label: t(\"Rejected\"),\r\n },\r\n ];\r\n return (\r\n
\r\n props.onSelectChange(e, \"keyword\")}\r\n searchKeyword={props.searchObject?.keyword}\r\n />\r\n\r\n

\r\n {t(\"Task\")}\r\n

\r\n }\r\n onSelectChange={(e: any) => props.onSelectTask(e)}\r\n defaultValue={props.defaultTask}\r\n values={display}\r\n />\r\n

\r\n {t(\"Date\")}\r\n

\r\n props.onSelectChange(e, f)}\r\n />\r\n

\r\n {t(\"Other\")}\r\n

\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n values={props.formStatus}\r\n defaultVaue={\r\n props.searchObject?.status ? props.searchObject?.status : []\r\n }\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={props.searchObject?.form ? props.searchObject?.form : []}\r\n values={props.formType}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.company ? props.searchObject?.company : []\r\n }\r\n values={props.allCompany}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.department ? props.searchObject?.department : []\r\n }\r\n values={props.allDepartment}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default WorkListSideBarElementUse;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport \"./WorklistCardComponent.css\";\r\nimport { FaChevronRight } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { Space } from \"antd\";\r\nimport { motion } from \"framer-motion\";\r\n\r\ninterface Props {\r\n dataWorklist?: any;\r\n data: any;\r\n setContent: (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => void;\r\n index: number;\r\n onUpdate: (\r\n type: any,\r\n memoid: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n taskGourp: any;\r\n currentMemoId: number;\r\n toggleDetail: any;\r\n setToggleDetail: any;\r\n setOnDetailLoading: any;\r\n}\r\n\r\nexport const WorklistCardComponent = (props: Props) => {\r\n const [data, setData] = useState(props.data || {});\r\n const [dataUrl, setDataUrl] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [isCommentActive, setIsCommentActive] = useState(false);\r\n useEffect(() => {\r\n setData(props.data);\r\n setDataUrl(`/Request?MemoID=${props.data.MemoID}`);\r\n }, [props.data]);\r\n const history = useHistory();\r\n const amount_label = \"[Amount/day]\";\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n if (props.currentMemoId === props.data.MemoID) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }, [props.currentMemoId]);\r\n\r\n const formatDate = () => {\r\n let momentObj = moment(data.ModifiedDate, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , HH:mm\");\r\n };\r\n const resposeComment = (comment: any) => {\r\n props.onUpdate(\"approve\", props.data.MemoID, comment);\r\n };\r\n\r\n const delegateMemo = (data: any) => {\r\n if (data.IsDelegated) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n let _requestor = data.Requestor || {};\r\n props.setContent(data.MemoID, data.Status, props.index, _requestor);\r\n props.setOnDetailLoading(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {data.DocumentNo}\r\n \r\n

{formatDate()}

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n
\r\n {data.Subject}\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n
\r\n \r\n {data.TemplateName}\r\n

\r\n {/* delegate */}\r\n \r\n {delegateMemo(data)}\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor &&\r\n (data.Requestor.Lang === \"EN\"\r\n ? data.Requestor.NameEn\r\n : data.Requestor.NameTh)}\r\n

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

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor !== null\r\n ? data.WaitingFor.Lang === \"EN\"\r\n ? data.WaitingFor.NameEn\r\n : data.WaitingFor.NameTh\r\n : \"-\"}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n {t(\"Approve\")}\r\n \r\n )}\r\n {isCommentActive && (\r\n \r\n // props.onUpdate(upDateData, comment)\r\n // }\r\n pageName={\"WorkList\"}\r\n lineApproval={[]}\r\n approvalSequence={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n\r\n {\r\n const memoid = { MemoID: data.MemoID };\r\n // history.push(\"/Request\", memoid);\r\n history.push(`/Request?MemoID=${data.MemoID}`, memoid);\r\n }}\r\n >\r\n
\r\n
\r\n

{data.DocumentNo}

\r\n

{data.RequestDate}

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

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

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

{data.Subject}

\r\n
\r\n

{data.TemplateName}

\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor && data.Requestor.NameTh}\r\n

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

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor && data.WaitingFor.NameTh}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n Approve\r\n \r\n )}\r\n {isCommentActive && (\r\n props.onUpdate(buttonType, props.data.MemoID, comment)}\r\n pageName={\"WorkList\"}\r\n lineApproval={[]}\r\n approvalSequence={0}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { IGetWorklistRequest, ITodo } from \"../IRequestModel/IWorklistModel\";\r\nimport { GetAllEmployee } from \"./EmployeeService\";\r\n\r\nexport const GetWorkListByTaskGroup = async (\r\n dataJson: IGetWorklistRequest\r\n): Promise => {\r\n // const email = JSON.parse(window.localStorage.getItem(\"email\") || \"\");\r\n // dataJson.UserPrincipalName = email;\r\n const response = await fetch(\"api/Worklist/GetWorkListByTaskGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n \r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then(async (data: ITodo[]) => {\r\n if (data) {\r\n let req = {\r\n IsActiveOnly: true, \r\n Scopes: \"name,email\"\r\n }\r\n const employees: IUserModel[] = await GetAllEmployee(req);\r\n const todoFormatDate: ITodo[] = data.sort((a, b) => {\r\n const aa = moment(a.ModifiedDate, \"DD/MM/YYYY\");\r\n const bb = moment(b.ModifiedDate, \"DD/MM/YYYY\");\r\n return moment(bb).diff(aa);\r\n });\r\n\r\n const todoFormatWaitingFor = todoFormatDate.map((todo) => {\r\n if (employees.length > 0) {\r\n let _todo = todo;\r\n let _emp: IUserModel | null = null;\r\n for (let i = 0; i < employees.length; i++) {\r\n const employee = employees[i];\r\n if (_todo.WaitingFor === employee.EmployeeId) {\r\n _emp = employee;\r\n }\r\n }\r\n return {\r\n ..._todo,\r\n WaitingFor: _emp,\r\n };\r\n } else {\r\n return {\r\n ...todo,\r\n WaitingFor: null,\r\n Requestor: null,\r\n };\r\n }\r\n });\r\n console.log({ todoFormatWaitingFor });\r\n\r\n return todoFormatWaitingFor;\r\n } else return [];\r\n })\r\n .catch((err) => {\r\n return [];\r\n });\r\n return response;\r\n};\r\n","import { IWorklistHistory } from \"../IRequestModel/IListHistoryDetailsModel\";\r\n\r\nexport const GetAllHistory = async (\r\n dataJson: any\r\n): Promise => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/History/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { IApproval } from \"../IRequestModel/IListApprovalDetailsModel\";\r\n\r\nexport const GetApprovalByTemplate = async (dataJson: any) => {\r\n try {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/LineApprove/GetByTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n response.json();\r\n console.log(response, \"_responeListApproval\");\r\n })\r\n .then((approvals) => {\r\n console.log(approvals, \"_responeListApproval\");\r\n return approvals;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n } catch (error) {\r\n console.log({ error });\r\n }\r\n};\r\nexport const GetAllApprovals = async (dataJson: any): Promise => {\r\n const response = await fetch(\"api/Approvals/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log({ err });\r\n });\r\n return response;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./WorkListScreen.css\";\r\nimport \"../../components/WorklistScreenComponent/WorklistCardComponent.css\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { Button, InputNumber, Pagination } from \"antd\";\r\nimport { DetailContentScreen } from \"./DetailContentScreen\";\r\nimport WorkListSideBarElementUse from \"./WorkListSideBarElementUse\";\r\nimport { WorklistCardComponent } from \"../../components/WorklistScreenComponent/WorklistCardComponent\";\r\n// import Pagination from \"react-bootstrap/Pagination\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport moment, { Moment } from \"moment\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { GetWorkListByTaskGroup } from \"../../Services/WorklistService\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetAllMemo,\r\n GetMemoDetail,\r\n} from \"../../Services/MemoService\";\r\nimport { GetAllHistory } from \"../../Services/HistoryService\";\r\nimport { GetAllAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { GetAllApprovals } from \"../../Services/ApprovalService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport { GetAutoNumber } from \"../../Services/RequestControlService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport {\r\n IGetWorklistRequest,\r\n ISearchWorklist,\r\n ITodo,\r\n IWorklistDetail,\r\n TodoType,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst WorkListScreen = (props: Props) => {\r\n const [userData] = useUserContext();\r\n const { toggleAlert } = useAlert();\r\n\r\n //Worklist Data\r\n const [workListData, setWorkListData] = useState();\r\n const [dtWorkListData, setDTWorkListData] = useState();\r\n\r\n //Filter Option\r\n const [formTypeOptions, setFormTypeOptions] = useState([]);\r\n const [companiesOptions, setCompaniesOptions] = useState([]);\r\n const [departmentsOptions, setDepartmentsOptions] = useState([]);\r\n const [formStatusOptions, setFormStatusOptions] = useState([]);\r\n\r\n //Filter data\r\n const [searchObject, setSearchObject] = useState({\r\n company: [],\r\n date: [],\r\n department: [],\r\n form: [],\r\n keyword: \"\",\r\n status: [],\r\n });\r\n const { t } = useTranslation([\"translation\"]);\r\n //Pagination\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(5);\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n //Toggle\r\n const [isShowPdfData, setIsShowPdfData] = useState(true);\r\n const [isCardLoading, setIsCardLoading] = useState(false);\r\n const [onDetailLoading, setOnDetailLoading] = useState(false);\r\n const [toggleDetail, setToggleDetail] = useState(false);\r\n const [sidebarState, setSidebarState] = useState(false);\r\n\r\n const [currentMemoId, setCurrentMemoId] = useState(0);\r\n const [taskHeader, setTaskHeader] = useState(\"To Do List\");\r\n const [currentIndex, setCurrentIndex] = useState(-1);\r\n const [selectedCard, setSelectedCard] = useState();\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [defaultTask, setDefaultTask] =\r\n useState(\"To Do List\");\r\n const [taskGourp, setTaskGourp] = useState(\"todo\");\r\n const [getMemoDetail, setGetMemoDetail] = useState();\r\n\r\n //Default item per page\r\n const _itemPerPage = itemPerPage ? Number(itemPerPage) : 1;\r\n const indexOfLastPost = currentPage * _itemPerPage;\r\n const indexOfFirstPost = indexOfLastPost - _itemPerPage;\r\n useEffect(() => {\r\n window.onpopstate = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.setItem(\"action_back\", \"yes\");\r\n }\r\n };\r\n\r\n window.onbeforeunload = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.removeItem(\"task\");\r\n sessionStorage.removeItem(\"searchObject\");\r\n sessionStorage.removeItem(\"page\");\r\n sessionStorage.removeItem(\"selectedCard\");\r\n sessionStorage.removeItem(\"headerTask\");\r\n sessionStorage.removeItem(\"currentMemoId\");\r\n sessionStorage.removeItem(\"toggleSidebar\");\r\n }\r\n };\r\n\r\n fetchWorklist();\r\n sessionStorage.removeItem(\"action_back\");\r\n\r\n return () => {\r\n window.removeEventListener(\"popstate\", (e) => {});\r\n window.removeEventListener(\"beforeunload\", (e) => {});\r\n };\r\n }, [t]);\r\n\r\n const fetchWorklist = async (\r\n task: TodoType = \"todo\",\r\n date?: [Moment?, Moment?] | null\r\n ) => {\r\n setIsCardLoading(true);\r\n // if (task !== taskGourp) {\r\n let dateFrom: any;\r\n let dateTo: any;\r\n\r\n let actionBack = sessionStorage.getItem(\"action_back\");\r\n\r\n if (!actionBack) {\r\n if (task === \"myrelate\") {\r\n // dateFrom = date ? date[0] : moment(new Date()).subtract(1, \"M\");\r\n // dateTo = date ? date[1] : moment(new Date());\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n }\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n task = sessionStorage.getItem(\"task\")\r\n ? (sessionStorage.getItem(\"task\") as TodoType)\r\n : \"todo\";\r\n }\r\n\r\n try {\r\n const dataJson: IGetWorklistRequest = {\r\n task: task,\r\n empId: userData?.EmployeeId?.toString(),\r\n iItemPerMore: 10000,\r\n CountMoreItem: 1,\r\n FilterDateFrom: dateFrom ? dateFrom.toISOString() : \"\",\r\n FilterDateTo: dateTo ? dateTo.toISOString() : \"\",\r\n UserPrincipalName: userData.Email,\r\n };\r\n const dataWorklist = await GetWorkListByTaskGroup(dataJson);\r\n if (dataWorklist) {\r\n setDTWorkListData(dataWorklist);\r\n }\r\n\r\n if (!actionBack) {\r\n if (task === \"myrelate\" || date) {\r\n setSearchObject({\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n date: dateFrom || dateTo ? [dateFrom, dateTo] : [],\r\n });\r\n } else {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n }\r\n } else {\r\n let search = sessionStorage.getItem(\"searchObject\")\r\n ? JSON.parse(sessionStorage.getItem(\"searchObject\")!)\r\n : searchObject;\r\n let page = sessionStorage.getItem(\"page\")\r\n ? parseInt(sessionStorage.getItem(\"page\")!)\r\n : 1;\r\n let selecteCard = sessionStorage.getItem(\"selectedCard\")\r\n ? (JSON.parse(\r\n sessionStorage.getItem(\"selectedCard\")!\r\n ) as IWorklistDetail)\r\n : selectedCard;\r\n let taskHeader: string = sessionStorage.getItem(\"headerTask\")\r\n ? sessionStorage.getItem(\"headerTask\")!\r\n : \"To Do List\";\r\n let currentMemoId = sessionStorage.getItem(\"currentMemoId\")\r\n ? parseInt(sessionStorage.getItem(\"currentMemoId\")!)\r\n : 0;\r\n let sidebar: boolean = sessionStorage.getItem(\"toggleSidebar\")\r\n ? JSON.parse(sessionStorage.getItem(\"toggleSidebar\")!)\r\n : false;\r\n\r\n setSearchObject(search);\r\n setCurrentPage(page);\r\n setSelectedCard(selecteCard);\r\n setDefaultTask((taskHeader as WorklistHeaderType) || \"To Do List\");\r\n setTaskHeader(taskHeader);\r\n setCurrentMemoId(currentMemoId);\r\n setSidebarState(sidebar);\r\n }\r\n setTaskGourp(task);\r\n initialWorklistOption(dataWorklist);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n // }\r\n setIsCardLoading(false);\r\n };\r\n\r\n const initialWorklistOption = (worklist: ITodo[]) => {\r\n let _formTypeOption: any[] = [];\r\n let _formStatusOption: any[] = [];\r\n let _companiesOption: any[] = [];\r\n let _departmentsOption: any[] = [];\r\n\r\n const resultFormTypeOption = worklist.reduce((r, a) => {\r\n r[a.TemplateName] = r[a.TemplateName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultFormStatusOption = worklist.reduce((r, a) => {\r\n r[a.Status] = r[a.Status] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllCompanyOption = worklist.reduce((r, a) => {\r\n r[a.CompanyName] = r[a.CompanyName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllDepartmentOption = worklist.reduce((r, a) => {\r\n r[a.DepartmentName] = r[a.DepartmentName] || [];\r\n return r;\r\n }, Object.create(null));\r\n for (const [key, value] of Object.entries(resultFormStatusOption)) {\r\n _formStatusOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultFormTypeOption)) {\r\n _formTypeOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllCompanyOption)) {\r\n _companiesOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllDepartmentOption)) {\r\n _departmentsOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n\r\n setDepartmentsOptions([..._departmentsOption]);\r\n setCompaniesOptions([..._companiesOption]);\r\n setFormStatusOptions([..._formStatusOption]);\r\n setFormTypeOptions([..._formTypeOption]);\r\n setWorkListData([...worklist]);\r\n };\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n sessionStorage.setItem(\"toggleSidebar\", \"false\");\r\n } else {\r\n setToggleDetail(false);\r\n setSidebarState(true);\r\n sessionStorage.setItem(\"toggleSidebar\", \"true\");\r\n }\r\n }\r\n const onUpdateMemo = async (\r\n type: any,\r\n memoId: any,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n try {\r\n setIsCardLoading(true);\r\n // const _empData = empData.employeeData;\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n const requestBody = {\r\n Memoid: memoId,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n let _getMemoDetailById = await GetMemoDetail(requestBody);\r\n\r\n setGetMemoDetail(_getMemoDetailById);\r\n if (_getMemoDetailById) {\r\n let requestDetail = _getMemoDetailById.requestDetails;\r\n let listControlRunning = [];\r\n //set value\r\n requestDetail.memoDetail.comment = comment;\r\n requestDetail.memoDetail.actor = userData;\r\n requestDetail.memoDetail.waiting_for = waiting_for\r\n ? waiting_for\r\n : requestDetail.memoDetail.waiting_for;\r\n requestDetail.memoDetail.waiting_for_id = waiting_for_id\r\n ? waiting_for_id\r\n : requestDetail.memoDetail.waiting_for_id;\r\n\r\n if (!_getMemoDetailById.requestDetails.memoDetail.is_text_form) {\r\n //check control running\r\n if (requestDetail.memoDetail.template_desc) {\r\n let autoNumFormat: IAutoNumberAttibute = {\r\n formats: [],\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n showSymbol: false,\r\n };\r\n const templateDescJson = JSON.parse(\r\n requestDetail.memoDetail.template_desc\r\n );\r\n autoNumFormat = detechAutonumberFormula(templateDescJson);\r\n\r\n if (autoNumFormat?.rowIndex !== -1) {\r\n const runningNumber = await CheckSaveAutonumber(\r\n requestDetail.memoDetail.template_id,\r\n templateDescJson,\r\n autoNumFormat\r\n );\r\n\r\n if (runningNumber) {\r\n listControlRunning.push(runningNumber);\r\n }\r\n }\r\n }\r\n }\r\n requestDetail[\"listControlRunning\"] = listControlRunning;\r\n\r\n //updateMemo\r\n let _ActionMemoPage = await ActionMemoPage({\r\n MemoPage: {\r\n listApprovalDetails: requestDetail.listApprovalDetails,\r\n listFileAttachDetails: requestDetail.listFileAttachDetails,\r\n listFormName: requestDetail.listFormNames,\r\n listHistoryDetails: requestDetail.listHistoryDetails,\r\n listRefDocDetails: requestDetail.listRefDocDetails,\r\n memoDetail: requestDetail.memoDetail,\r\n listControlRunning: requestDetail.listControlRunning,\r\n // listFormName: requestDetail.listFormNames,\r\n // listRefDocDetails: _getMemoDetailById.refDocs,\r\n },\r\n Type: type,\r\n });\r\n\r\n if (_ActionMemoPage && !_ActionMemoPage.Message) {\r\n fetchWorklist();\r\n let desc: string = `${type} Success.`;\r\n let message: string = \"Success\";\r\n if (_ActionMemoPage === \"ValidField\") {\r\n desc = `${type} Error.`;\r\n message = _ActionMemoPage;\r\n }\r\n toggleAlert({\r\n description: desc,\r\n message: message,\r\n type: _ActionMemoPage === \"ValidField\" ? \"error\" : \"success\",\r\n // duration: 100000000,\r\n });\r\n\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n setIsCardLoading(false);\r\n setToggleDetail(false);\r\n } else {\r\n toggleAlert({\r\n description: `${_ActionMemoPage.message}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n setIsCardLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"memo=>\", error);\r\n }\r\n };\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n try {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n return _autoFormats;\r\n } catch (error) {\r\n return {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n }\r\n };\r\n const CheckSaveAutonumber = async (\r\n templateId: Number,\r\n template_desc: any,\r\n autoNumFormat: IAutoNumberAttibute\r\n ) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value = template_desc.items[rowIndex].layout[colIndex].data.value;\r\n const autoTemp = template_desc.items[rowIndex].layout[colIndex];\r\n if (value) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n let newRunning = -1;\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetAutoNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n const setContent = async (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => {\r\n // const _empData = empData.employeeData;\r\n\r\n const _memoDetail = await GetAllMemo({\r\n memoid: memoId,\r\n EmployeeId: requestor?.EmployeeId?.toString(),\r\n SecretId: \"\",\r\n actor: userData.EmployeeId,\r\n });\r\n\r\n if (_memoDetail.length > 0) {\r\n if (_memoDetail[0].Permission !== null) {\r\n if (_memoDetail[0].Permission.View === \"F\") {\r\n setIsShowPdfData(false);\r\n }\r\n }\r\n }\r\n\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n const actor = {\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n // setToggleDetail(false);\r\n let _dataAttachfiles = await GetAllAttachFiles({ memoid: memoId });\r\n\r\n let _dataApprovals = await GetAllApprovals({ memoid: memoId });\r\n\r\n if (status !== \"Draft\") {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: memoId,\r\n };\r\n let _dataMemobutton = await GetButtonMemoByMemoId(memoButton);\r\n setMenuButton(_dataMemobutton);\r\n } else {\r\n setMenuButton([]);\r\n }\r\n\r\n let _dataHistory = await GetAllHistory({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n actor: actor,\r\n });\r\n\r\n setOnDetailLoading(false);\r\n\r\n setSelectedCard((prevState) => ({\r\n ...prevState,\r\n approvals: _dataApprovals,\r\n attachfiles: _dataAttachfiles,\r\n requestor,\r\n MemoID: memoId,\r\n history: _dataHistory,\r\n }));\r\n\r\n sessionStorage.setItem(\r\n \"selectedCard\",\r\n selectedCard ? JSON.stringify(selectedCard) : \"{}\"\r\n );\r\n\r\n setSidebarState(false);\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n };\r\n\r\n const onSelectTask = (text: WorklistHeaderType) => {\r\n setTaskHeader(text);\r\n let date: [Moment?, Moment?] | null = null;\r\n let task: TodoType = \"todo\";\r\n if (text === \"All Task Group\") {\r\n task = \"todo\";\r\n } else if (text === \"To Do List\") {\r\n task = \"todo\";\r\n } else if (text === \"Related List\") {\r\n date = [moment(new Date()).subtract(1, \"M\"), moment(new Date())];\r\n task = \"myrelate\";\r\n } else if (text === \"In Process\") {\r\n task = \"inprocess\";\r\n } else if (text === \"Completed\") {\r\n task = \"completed\";\r\n } else if (text === \"Cancelled\") {\r\n task = \"cancelled\";\r\n } else if (text === \"Rejected\") {\r\n task = \"rejected\";\r\n }\r\n fetchWorklist(task, date);\r\n setCurrentPage(1);\r\n setDefaultTask(text);\r\n sessionStorage.setItem(\"task\", task);\r\n sessionStorage.setItem(\"headerTask\", text);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n };\r\n\r\n const onSelectChange = async (\r\n value: any | any[],\r\n formSelect: WorklistSerachType\r\n ) => {\r\n let rawObject = searchObject;\r\n\r\n if (formSelect) {\r\n rawObject[formSelect] = value;\r\n\r\n if (formSelect === \"date\") {\r\n fetchWorklist(taskGourp as TodoType, value);\r\n } else {\r\n setSearchObject((prevState: any) => ({\r\n ...prevState,\r\n ...rawObject,\r\n }));\r\n\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n }\r\n\r\n setCurrentPage(1);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n }\r\n };\r\n\r\n const clearFilter = () => {\r\n if (defaultTask !== \"Related List\") {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n } else {\r\n fetchWorklist(\"myrelate\", null);\r\n }\r\n };\r\n const paginate = (page: number) => {\r\n setCurrentPage(page);\r\n sessionStorage.setItem(\"page\", page.toString());\r\n };\r\n const onSetItemPerPage = (numItem: any) => {\r\n setItemPerPage(numItem);\r\n };\r\n const filterStatusWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.status.length > 0\r\n ? searchObject?.status.includes(todo.Status)\r\n : true;\r\n };\r\n const filterFormWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.form.length > 0\r\n ? searchObject?.form.includes(todo.TemplateName)\r\n : true;\r\n };\r\n const filterCompanyWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.company.length > 0\r\n ? searchObject?.company.includes(todo.CompanyName)\r\n : true;\r\n };\r\n const filterDepartmentWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.department.length > 0\r\n ? searchObject?.department.includes(todo.DepartmentName)\r\n : true;\r\n };\r\n const filterKeywordWorklistCard = (todo: ITodo) => {\r\n const _keyword = searchObject?.keyword?.toUpperCase();\r\n const waitingFor: IUserModel = todo?.WaitingFor;\r\n const requestor: IUserModel = todo?.Requestor;\r\n\r\n return _keyword?.length > 0\r\n ? todo.DepartmentName?.toUpperCase().includes(_keyword) ||\r\n todo.TemplateName?.toUpperCase().includes(_keyword) ||\r\n todo.CompanyName?.toUpperCase().includes(_keyword) ||\r\n todo.Status?.toUpperCase().includes(_keyword) ||\r\n todo.DocumentNo?.toUpperCase().includes(_keyword) ||\r\n todo.Subject?.toUpperCase().includes(_keyword) ||\r\n (waitingFor &&\r\n waitingFor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n waitingFor?.NameTh.toUpperCase().includes(_keyword) ||\r\n (requestor && requestor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n requestor?.NameTh?.toUpperCase().includes(_keyword)\r\n : true;\r\n };\r\n\r\n const _worklist =\r\n searchObject?.status.length === 0 &&\r\n searchObject?.company.length === 0 &&\r\n searchObject?.form.length === 0 &&\r\n searchObject?.department.length === 0 &&\r\n searchObject?.keyword.length === 0\r\n ? workListData || []\r\n : workListData?.filter((todo, idx) => {\r\n if (\r\n searchObject?.status.length === 0 &&\r\n searchObject?.company.length === 0 &&\r\n searchObject?.department.length === 0 &&\r\n searchObject?.form.length === 0 &&\r\n searchObject?.keyword.length === 0\r\n ) {\r\n return true;\r\n }\r\n\r\n if (searchObject?.status.length > 0) {\r\n return filterStatusWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.company.length > 0) {\r\n return filterCompanyWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.department.length > 0) {\r\n return filterDepartmentWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.form.length > 0) {\r\n return filterFormWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.keyword.length > 0) {\r\n return filterKeywordWorklistCard(todo);\r\n }\r\n }) || [];\r\n\r\n const mapWorklistCard = (todo: ITodo, idx: number) => {\r\n return (\r\n \r\n );\r\n };\r\n const spring = {\r\n type: \"spring\",\r\n damping: 10,\r\n stiffness: 100,\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isCardLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\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 size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

\r\n {t(\"Worklist\")} / {t(taskHeader)} ({_worklist?.length})\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {t(\"Show\")}\r\n \r\n \r\n {t(\"items per page\")}\r\n \r\n
\r\n
\r\n {_worklist\r\n ?.slice(indexOfFirstPost, indexOfLastPost)\r\n ?.map(mapWorklistCard)}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* */}\r\n {toggleDetail && (\r\n \r\n )}\r\n {/* */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(WorkListScreen);\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n PathLogo?: string;\r\n PathCarousel?: string[];\r\n PathCodeUrl?: any;\r\n}\r\n\r\nexport const LoginScreenOpenId = (props: Props) => {\r\n // const [onLoading, setOnLoading] = useState(false);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props?.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n // console.log(\"codeUrl=>\", props.PathCodeUrl);\r\n setLoad(false);\r\n GetOpenId();\r\n }, [props.PathCodeUrl]);\r\n\r\n const onSubmitLoginOpenId = async () => {\r\n let _loginOpenId = await fetch(\"api/Login/Authorize/OpenId\").then((res) =>\r\n res.json()\r\n );\r\n window.location.href = _loginOpenId.redirect;\r\n };\r\n\r\n const GetOpenId = async () => {\r\n let _loginOpenId = await fetch(\r\n \"api/Login/Authorize/CallBack?code=\" + props.PathCodeUrl\r\n ).then((res) => res.json());\r\n // console.log(\"loginCallbackkkkkkkkkkkkkkkkkkkkkkkkk=>\", _loginOpenId);\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginOpenId.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginOpenId);\r\n };\r\n\r\n const ActionPassLogin = async (_loginOpenId: any) => {\r\n if (_loginOpenId === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n // setOnLoading(false);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginOpenId?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginOpenId?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginOpenId));\r\n localStorage.setItem(\"employeeId\", _loginOpenId.employeeData.EmployeeId);\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginOpenId.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginOpenId.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginOpenId.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginOpenId.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginOpenId.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginOpenId.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginOpenId.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginOpenId.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginOpenId.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginOpenId.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n // setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n history.push(\"/Request?MemoID=2065\");\r\n localStorage.removeItem(\"memoid\");\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {props.PathCarousel && props.PathLogo && (\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\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

{remarkValid}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {props.PathCodeUrl && (\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","import React, { useEffect, ReactNode, useMemo } from \"react\";\r\nimport { Redirect, Route, RouteProps, useLocation } from \"react-router\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\r\nimport { clearLocalStorageOnLogout } from \"../Helper/localStoreFunction\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\nexport type ProtectedRouteProps = {\r\n isAuthenticated: boolean;\r\n authenticationPath: string;\r\n redirectPath: string;\r\n setRedirectPath: (path: string) => void;\r\n children?: ReactNode;\r\n} & RouteProps;\r\n\r\nexport default function PrivateRoute({\r\n isAuthenticated,\r\n authenticationPath,\r\n redirectPath,\r\n setRedirectPath,\r\n children,\r\n ...routeProps\r\n}: ProtectedRouteProps) {\r\n const currentLocation = useLocation();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n let paramString = window.location.href.split(\"#\")[1];\r\n const codeURLSearch = new URLSearchParams(paramString);\r\n const _codeUrl = codeURLSearch.get(\"code\");\r\n const [sessionContext, updateSessionContext] = useSessionContext();\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n if (query.get(\"MemoID\")) {\r\n localStorage.setItem(\"memoid\", query.get(\"MemoID\") || \"\");\r\n }\r\n } else {\r\n localStorage.removeItem(\"memoid\");\r\n chaeckLastActtion();\r\n }\r\n chaeckLastActtion();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n setRedirectPath(\"/login\");\r\n }\r\n }, [isAuthenticated, currentLocation]);\r\n\r\n const chaeckLastActtion = async () => {\r\n try {\r\n const lastAction = Number(\r\n localStorage.getItem(\"lastAction\") || Date.now()\r\n );\r\n const diffMilliseconds = Math.abs(Date.now() - lastAction);\r\n const masterData = await GetAllMasterData();\r\n let timeout = 60 * 60 * 1000;\r\n\r\n if (masterData) {\r\n timeout = Number(\r\n masterData?.find((e: any) => e.MasterType === \"Timeout\" && e.IsActive)\r\n ?.Value2\r\n );\r\n timeout =\r\n Number(\r\n masterData.find((e: any) => e.MasterType === \"Timeout\")?.Value2\r\n ) *\r\n 60 *\r\n 1000;\r\n }\r\n\r\n localStorage.setItem(\"timer\", timeout.toString());\r\n\r\n if (diffMilliseconds >= timeout) {\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n\r\n setRedirectPath(\"/login\");\r\n clearLocalStorageOnLogout();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname === \"/\"\r\n ) {\r\n return ;\r\n } else if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname !== \"/login\"\r\n ) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n } else if (\r\n // isAuthenticated &&\r\n // redirectPath !== currentLocation.pathname &&\r\n paramString &&\r\n paramString.includes(\"code\")\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n /*

Oh my god

; */\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport \"./ErrorPageComponent.css\";\r\nimport blackguardPage from \"../../assets/blackguardPage.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\ninterface Props {}\r\n\r\nexport const ErrorPageComponent = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n

404

\r\n

ERROR

\r\n

PAGE NOT FOUND

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n setAttributeButton: any;\r\n attributeButton: any;\r\n}\r\n\r\nexport const AddQueryComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const valueDropdown = [{ name: \"Document No\" }];\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [selectedValue, setSelectedValue] = useState();\r\n\r\n function onSaveQuery() {\r\n console.log(inputValue, \"inputValue\");\r\n console.log(selectedValue?.name, \"inputValue\");\r\n\r\n if (!inputValue || !selectedValue?.name) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n return;\r\n }\r\n let _items = props.attributeButton.items;\r\n const dataRequest = {\r\n layout: [\r\n {\r\n paramiter: {\r\n value: inputValue,\r\n },\r\n control: {\r\n label: selectedValue.name,\r\n },\r\n },\r\n ],\r\n };\r\n _items.push(dataRequest);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n onSaveQuery();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n baseZIndex={2}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Parameter\r\n\r\n *\r\n
\r\n

ตัวแปร

\r\n \r\n \r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Control\r\n\r\n *\r\n
\r\n

ควบคุม

\r\n \r\n \r\n
\r\n
\r\n {\r\n setSelectedValue(e.value);\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Select--\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Toast } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { AddQueryComponent } from \"./AddQueryComponent\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeButton: any;\r\n setAttributeButton: any;\r\n}\r\n\r\nexport default function ButtonComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n url: props.template.URL,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n function deleteAttributeButton(idx: any) {\r\n let _items = props.attributeButton.items;\r\n _items.splice(idx, 1);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Text Button

\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

URL

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n Add http(s) prefix for external link\r\n Ex. https://my.domain.com\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

QueryString :

\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Query\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 {props.attributeButton.items.map((_data: any, idx: any) => {\r\n return (\r\n <>\r\n {_data.layout.map((_data2: any, idx2: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
\r\n

Parameter

\r\n

ตัวแปร

\r\n
\r\n

Control

\r\n

คอนโทรล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{_data.layout[idx2]?.paramiter?.value}{_data.layout[idx2]?.control?.label}\r\n {\r\n deleteAttributeButton(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Button } from \"primereact/button\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function AttachmentComponent(props: Props) {\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const [linkFile, setLinkFile] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n maxFile: parseInt(props.template.attribute?.max) || 50,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n useEffect(() => {\r\n if (props.uploadFileState) {\r\n const [nameFile, linkFile] = props.uploadFileState.split(\"|\");\r\n setNameFile(nameFile);\r\n setLinkFile(linkFile);\r\n }\r\n }, []);\r\n\r\n const onFileSelect = async (e: any, onChange: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(\r\n response?.data?.fileName + \"|\" + response?.data?.pathUrl\r\n );\r\n setNameFile(response?.data?.fileName);\r\n setLinkFile(response?.data?.pathUrl);\r\n onChange(response?.data?.fileName + \"|\" + response?.data?.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n function openLink() {\r\n const _link = linkFile\r\n ? linkFile.charAt(0) !== \"/\" && !props.userData.SharepointSiteURL\r\n ? \"/\" + linkFile\r\n : linkFile\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (props.userData.SharepointSiteURL) {\r\n window.open(\r\n `${props.userData.SharepointSiteURL}/${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (props.userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${props.userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!props.userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n return (\r\n
\r\n {renderDialog()}\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n\r\n

File Type Format : *pdf*xlsx

\r\n
\r\n {/*
\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
*/}\r\n
\r\n\r\n
\r\n
\r\n

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e, field.onChange);\r\n }}\r\n className={`set-input-component-css form-control ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n openLink();\r\n // window.open(\r\n // `https://${props.userData.TinyURL}${linkFile}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {nameFile}\r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n setNameFile(null);\r\n setLinkFile(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport \"./AutoNumberComponent.css\";\r\nimport { Input } from \"antd\";\r\ninterface Props {\r\n setConditionViewModal: any;\r\n conditionViewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setAttributeNumber: any;\r\n attributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [selectedFormValue, setSelectedFormValue] = useState();\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [defaultValueItem, setDefaultValueItem] = useState([]);\r\n const [conditions, setConditions] = useState([]);\r\n const [actionConditions, setActionConditions] = useState(\"add\");\r\n const [idxConditions, setIdxConditions] = useState();\r\n const [value, setValue] = useState();\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"editCondition\") {\r\n let _condition =\r\n props.attributeNumber.formats[props.attributeIdx]?.condition || [];\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n let arrayItem: any = [];\r\n let arrayDataItem: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label !== undefined) {\r\n if (_dataLayout.template.label !== \"\") {\r\n if (_dataLayout.template.type !== \"em\") {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n type: _dataLayout.template.type,\r\n });\r\n }\r\n }\r\n }\r\n if (selectedFormName) {\r\n if (selectedFormName.item === _dataLayout.template.label) {\r\n if (_dataLayout.template.attribute !== undefined) {\r\n if (_dataLayout.template.attribute.items) {\r\n arrayItem.push({ attribute: _dataLayout.template.attribute });\r\n arrayItem.map((_dataArray: any, index: number) => {\r\n _dataArray.attribute.items.map(\r\n (_dataItem: any, index: number) => {\r\n if (_dataItem.item !== \"--select--\") {\r\n arrayDataItem.push({ value: _dataItem.item });\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n setDefaultValueItem([...arrayDataItem]);\r\n }\r\n }, [selectedFormName]);\r\n\r\n function Save() {\r\n if (props.checkAction === \"editCondition\") {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].condition = conditions.condition;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n props.setConditionViewModal(false);\r\n }\r\n }\r\n function onSaveToCondition() {\r\n if (\r\n inputValue === \"\" &&\r\n selectedFormName?.item === undefined &&\r\n selectedFormValue?.value === undefined\r\n ) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 6000,\r\n // });\r\n return;\r\n } else {\r\n if (actionConditions === \"edit\") {\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequest;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n if (value) {\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequestValue;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n }\r\n } else if (actionConditions === \"add\") {\r\n if (value) {\r\n let _condition = conditions.condition;\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n _condition.push(dataRequestValue);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n } else {\r\n let _condition = conditions.condition;\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n _condition.push(dataRequest);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }\r\n }\r\n setSelectedFormName([]);\r\n setSelectedFormValue([]);\r\n setInputValue(\"\");\r\n setValue(\"\");\r\n }\r\n function editCondition(_data: any, _idx: any) {\r\n console.log(\"editCondition\", _data);\r\n setSelectedFormName({\r\n item: _data.label,\r\n type: _data.type,\r\n });\r\n console.log(\"data Type\", _data.type);\r\n if (\r\n _data.type !== \"tb\" &&\r\n _data.type !== \"dd\" &&\r\n _data.type !== \"l\" &&\r\n _data.type !== \"em\"\r\n ) {\r\n setValue(_data.value);\r\n }\r\n setSelectedFormValue(_data.value);\r\n setInputValue(_data.value);\r\n setActionConditions(\"edit\");\r\n setIdxConditions(_idx);\r\n }\r\n function deleteCondition(idx: any) {\r\n let _condition = conditions.condition;\r\n _condition.splice(idx, 1);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n const footer = (\r\n
\r\n {\r\n Save();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedChangeValue = (e: { value: any }) => {\r\n setSelectedFormValue(e.value);\r\n };\r\n return (\r\n <>\r\n props.setConditionViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Column\r\n\r\n *\r\n
\r\n

คอลัมน์

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {defaultValueItem.length !== 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Options\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 {defaultValueItem.length === 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Input\r\n
\r\n

ข้อมูลนำเข้า

\r\n \r\n \r\n
\r\n
\r\n setValue(e.target.value)}\r\n disabled={defaultValueItem.length !== 0 ? true : false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onSaveToCondition();\r\n }}\r\n >\r\n Save To Condition\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {conditions?.condition?.map((data: any, idx: any) => (\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

Sequence

\r\n

ลำดับ

\r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Value Options

\r\n

ข้อมูลตัวเลือก

\r\n
\r\n

Edit

\r\n

แก้ไข

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}{data.label}{data.value}\r\n {\r\n editCondition(data, idx);\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"antd\";\r\nimport \"./Button.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n title?: string;\r\n icon: any;\r\n onSelectView: (text: string) => void;\r\n page: number;\r\n curPage: any;\r\n checkTypeIcon?: string;\r\n children?: any\r\n}\r\n\r\nexport const Button = (props: Props) => {\r\n return (\r\n {\r\n props.onSelectView(props.page.toString());\r\n }}\r\n >\r\n \r\n {props.checkTypeIcon != undefined ? (\r\n \"\"\r\n ) : (\r\n props.icon\r\n )}\r\n \r\n \r\n
\r\n {props.title}\r\n {props.children && (props.children)}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport { AiOutlineFileText, AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BiArchiveIn, BiFont } from \"react-icons/bi\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport { Col, Row } from \"antd\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n setCheckAction: any;\r\n}\r\n\r\nexport default function AddPreFixComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const dataFormats: any = {\r\n condition: [],\r\n format: [],\r\n };\r\n const [formats, setFormats] = useState(dataFormats);\r\n const [selected, setSelected] = useState(\"1\");\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [dateFormat, setDateFormat] = useState(\"\");\r\n const [formatsIdx, setFormatsIdx] = useState();\r\n const [saveToFormatAction, setSaveToFormatAction] = useState(\"add\");\r\n\r\n const conditionType = [\r\n { name: \"None\", value: \"None\" },\r\n { name: \"Split\", value: \"Split\" },\r\n ];\r\n const [selectedCondition, setSelectedCondition] = useState(\"None\");\r\n const [symbolValue, setSymbolValue] = useState();\r\n const [positionValue, setPositionValue] = useState();\r\n useEffect(() => {\r\n if (props.checkAction === \"editPrefix\") {\r\n let _formats = props.attributeNumber.formats;\r\n let _format = _formats[props.attributeIdx].format;\r\n for (let i = 0; i < _format.length; i++) {\r\n if (_format[i].guid == undefined) {\r\n _format[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n if (Array.isArray(_data.layout)) {\r\n _data.layout.forEach((data: any) => {\r\n if (data.template.type === \"an\") {\r\n data.template.attribute.formats.map((dtformat: any) => {\r\n if (dtformat) {\r\n dtformat.format.map((type: any) => {\r\n if (\r\n type.type === \"ddl\" &&\r\n (type.position === undefined ||\r\n type.condition === undefined ||\r\n type.symbol === undefined)\r\n ) {\r\n type.position = type.position || \"\";\r\n type.condition = type.condition || \"None\";\r\n type.symbol = type.symbol || \"\";\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"dd\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"dataFormat\", array);\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n function SavePreFix() {\r\n if (formats?.format.length === 0) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"addFormat\") {\r\n let _attribute = props.attributeNumber.formats;\r\n _attribute.push(formats);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n } else if (\r\n props.checkAction === \"editPrefix\" ||\r\n saveToFormatAction === \"edit\"\r\n ) {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].format = formats.format;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n }\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n SavePreFix();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedCondition = (e: { value: any }) => {\r\n setSelectedCondition(e.value);\r\n };\r\n\r\n function onSaveToFormat() {\r\n if (inputValue === \"\" && selected === \"1\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selectedFormName?.item === undefined && selected === \"2\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (dateFormat === \"\" && selected === \"3\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selected === \"1\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"2\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"3\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n let _formats = formats.format;\r\n _formats.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n }\r\n setSaveToFormatAction(\"add\");\r\n setInputValue(\"\");\r\n setSelectedFormName([]);\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = formats.format;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"pf\") {\r\n return (\r\n <>\r\n \r\n Fix PreFix\r\n \r\n );\r\n } else if (dataType === \"ddl\") {\r\n return (\r\n <>\r\n \r\n Advance Form\r\n \r\n );\r\n } else if (dataType === \"datetime\") {\r\n return (\r\n <>\r\n \r\n Date Time\r\n \r\n );\r\n }\r\n }\r\n function deleteFormat(idx: any) {\r\n let _formats = formats.format;\r\n _formats.splice(idx, 1);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n\r\n function updateFormat(data: any, idx: any) {\r\n setSaveToFormatAction(\"edit\");\r\n if (data.type === \"pf\") {\r\n setInputValue(data.label);\r\n setSelected(\"1\");\r\n } else if (data.type === \"ddl\") {\r\n const dd = {\r\n item: data.label,\r\n };\r\n setSelectedFormName(dd);\r\n setSelectedCondition(data.condition);\r\n setSymbolValue(data.symbol);\r\n setPositionValue(data.position);\r\n setSelected(\"2\");\r\n } else if (data.type === \"datetime\") {\r\n setDateFormat(data.label);\r\n setSelected(\"3\");\r\n }\r\n setFormatsIdx(idx);\r\n }\r\n \r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n <>\r\n \r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Fix PreFix\"}\r\n icon={}\r\n page={1}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={2}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Date Time\"}\r\n icon={}\r\n page={3}\r\n curPage={selected}\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n {selected == \"1\" && (\r\n
\r\n
\r\n

Fix Prefix :

\r\n

*

\r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n {selected == \"2\" && (\r\n
\r\n \r\n
\r\n

FormName :

\r\n

*

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

Condition :

\r\n {/*

*

*/}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Symbol :

\r\n
\r\n
\r\n
\r\n {\r\n setSymbolValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ระบุสัญลักษณ์ที่ขั้นเลขที่เอกสาร\r\n \r\n
\r\n
\r\n \r\n
\r\n

Format :

\r\n
\r\n
\r\n {\r\n setPositionValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ตำแหน่งข้อมูลที่ต้องการนำไปใช้\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {selected == \"3\" && (\r\n
\r\n
\r\n

Date Time :

\r\n

*

\r\n
\r\n
\r\n setDateFormat(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n {\r\n if (\r\n selected === \"2\" &&\r\n selectedCondition === \"Split\" &&\r\n (positionValue === \"\" || symbolValue === \"\")\r\n ) {\r\n toggleAlert({\r\n description: `Please fill Symbol and Format`,\r\n message: `Condition Split.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n onSaveToFormat();\r\n }\r\n }}\r\n >\r\n Save To Format\r\n \r\n
\r\n {formats?.format?.length >= 1 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {formats?.format?.map((_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n updateFormat(_data, idx);\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteFormat(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport AddConditionComponent from \"./AddConditionComponent\";\r\nimport AddPreFixComponent from \"./AddPreFixComponent\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n}\r\n\r\nexport default function AutoNumberComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template?.digit) || 1,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionViewModal, setConditionViewModal] = useState(false);\r\n const [attributeIdx, setAttributeIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n function deleteAutoNumber(idx: any) {\r\n let _attribute = props.attributeNumber.formats;\r\n\r\n _attribute.splice(idx, 1);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"addFormat\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add PreFix\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeNumber.formats.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Condition

\r\n

เงื่อนไข

\r\n
\r\n

Format

\r\n

รูปแบบแสดงผล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}\r\n {\" \"}\r\n \r\n {\r\n setAttributeIdx(idx);\r\n setConditionViewModal(true);\r\n setCheckAction(\"editCondition\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.condition?.map((_data: any, idx2: any) => (\r\n <>\r\n {data.condition.length > 1\r\n ? data.condition.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n setAttributeIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"editPrefix\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.format.map((_data: any, idx2: any) => (\r\n <>\r\n {data.format.length > 1\r\n ? data.format.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n {\r\n deleteAutoNumber(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n {conditionViewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ControllerRenderProps, FieldValues } from \"react-hook-form\";\r\n\r\ntype Props = {\r\n field: ControllerRenderProps;\r\n disabled: boolean;\r\n};\r\n\r\nconst CalendarDefaultValueGroup = ({ field, disabled }: Props) => {\r\n useEffect(() => {\r\n if (disabled) {\r\n field.onChange(\"\");\r\n }\r\n }, [disabled]);\r\n\r\n return (\r\n
\r\n {\r\n console.log(\"valuedate\", e.target.value, field, disabled);\r\n field.onChange(e.target.value);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default CalendarDefaultValueGroup;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Controller,\r\n FieldValues,\r\n UseFormGetValues,\r\n get,\r\n} from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport CalendarDefaultValueGroup from \"./CalendarDefaultValueGroup\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n getValues: UseFormGetValues;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function CalendarComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n symbol: props.template.attribute?.date?.symbol || \"\",\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n default: props.template.attribute?.default || \"\",\r\n defaultType: props.template.attribute?.defaultType || \"None\",\r\n };\r\n\r\n const [disabled, setDisabled] = useState(\r\n props.template.attribute?.defaultType === \"None\"\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Symbol :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {/* default calendar */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n if (e.value !== \"None\") {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n field.onChange(e.value);\r\n }}\r\n options={[\r\n { name: \"None\", value: \"None\" },\r\n // { name: \"Calendar\", value: \"Calendar\" },\r\n { name: \"Days\", value: \"Days\" },\r\n // { name: \"Months\", value: \"Months\" },\r\n // { name: \"Year\", value: \"Year\" },\r\n ]}\r\n optionLabel=\"name\"\r\n />\r\n
\r\n )}\r\n />\r\n (\r\n
\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash, BsX } from \"react-icons/bs\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function ChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [input, setInput] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n // useEffect(() => {\r\n // if (checkBoxRequire === true) {\r\n // let _components = props.itemsList.items;\r\n // const requestData: any = {\r\n // item: \"--select--\",\r\n // checked: \"N\",\r\n // };\r\n // _components.splice(0, 0, requestData);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // } else if (\r\n // checkBoxRequire == false &&\r\n // props.itemsList.items[0]?.item == \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n // }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n put 1 word (Enter) or multi word put (,) (Enter)\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n setDisplayDropdown: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function MultiChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n display: props.template.attribute?.display || \"cb\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const displayDropdown = [\r\n { name: \"Checkbox\", code: \"cb\" },\r\n { name: \"Dropdown\", code: \"dd\" },\r\n ];\r\n const [input, setInput] = useState(\"\");\r\n const [dropdown, setDropdown] = useState([]);\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n const { toggleAlert } = useAlert();\r\n useEffect(() => {\r\n defaultDropDown();\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n function defaultDropDown() {\r\n if (dataRequest.display === \"cb\") {\r\n setDropdown(displayDropdown[0]);\r\n props.setDisplayDropdown(displayDropdown[0]);\r\n } else if (dataRequest.display === \"dd\") {\r\n setDropdown(displayDropdown[1]);\r\n props.setDisplayDropdown(displayDropdown[1]);\r\n }\r\n }\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n }else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n const deleteItems = (idx: number) => {\r\n let _components = props.itemsList.items;\r\n _components.splice(idx, 1);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n };\r\n function deleteItemsFromDropdown(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...e.value],\r\n }));\r\n }\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {\r\n console.log(displayDropdown);\r\n }}\r\n >\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {/* {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n options={displayDropdown}\r\n value={dropdown}\r\n /> */}\r\n {displayDropdown.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n checked={dropdown.name === items.name}\r\n />\r\n \r\n {items.name}\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

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function DropdownComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const { toggleAlert } = useAlert();\r\n const [input, setInput] = useState(\"\");\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n console.log(props.template, \"readonlyreadonlyreadonlyreadonlyreadonly\");\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n checkBoxRequire === true &&\r\n props.itemsList.items[0]?.item !== \"--select--\"\r\n ) {\r\n let _components = props.itemsList.items;\r\n const requestData: any = {\r\n item: \"--select--\",\r\n checked: \"N\",\r\n };\r\n _components.splice(0, 0, requestData);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n // else if (\r\n // checkBoxRequire === false &&\r\n // props.itemsList.items[0]?.item === \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if(rowData.item !== newValue){\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0){\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n {\r\n console.log(props.template, \"template\");\r\n }}\r\n >\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n \r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nconst TemplateModal = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [loading, setLoading] = useState(true);\r\n const [contentEditor, setContentEditor] = useState(\r\n props.data?.value == null ? initialValues : props.data\r\n );\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n useEffect(() => {\r\n if (!props.data?.value) {\r\n props.setRichText(initialValues);\r\n } else {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n }\r\n }, []);\r\n const handleEditorChange = (content: any, editor: any) => {\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n };\r\n const footer = (\r\n
\r\n {\r\n props.setViewModal(false);\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n {loading && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={contentEditor.value == null ? \"\" : contentEditor.value}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateModal;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { IoDocumentTextOutline } from \"react-icons/io5\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\nimport TemplateModal from \"./TemplateModal\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nexport default function EditorComponent(props: Props) {\r\n useEffect(() => {\r\n console.log(props.template, \"props.template.attribute?.height\");\r\n }, []);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template?.description,\r\n height: parseInt(props.template?.height) || 400,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n Pixel\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n console.log(\"readonly\", e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-template hover-color-css-282f6a\"\r\n >\r\n Template\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n requestData: (templates: any, itemIdx: number, layoutIdx: number) => void;\r\n control: any;\r\n errors: any;\r\n template: any;\r\n selected: any;\r\n setCheckBoxHeading: any;\r\n checkBoxHeading: any;\r\n displayCheckBox: any;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n istext: props.template.istext === \"Y\" || \"\" ? true : false,\r\n textvalue: props.template.textvalue || \"\",\r\n hideInPdf: props.template.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {props.displayCheckBox.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n props.setCheckBoxHeading(e.value);\r\n field.onChange(e.value);\r\n console.log(e.value, \"sss\");\r\n }}\r\n checked={props.checkBoxHeading.name === items.name}\r\n />\r\n \r\n {items.name}\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

Label :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
*/}\r\n {props.checkBoxHeading.code === \"N\" && (\r\n <>\r\n
\r\n
\r\n

Label :

\r\n *\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {props.checkBoxHeading.code === \"Y\" && (\r\n
\r\n
\r\n

Text Value

\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

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n setValue: any;\r\n}\r\n\r\nexport default function NumberComponent(props: Props) {\r\n const [decimal, setDecimal] = useState(\r\n parseInt(props.template.attribute?.decimal) || 0\r\n );\r\n const [readonly, setReadonly] = useState(\r\n props.template.attribute?.readonly === \"Y\" ? true : false\r\n );\r\n const [summary, setSummary] = useState(\r\n props.template.attribute?.summary === \"Y\" ? true : false\r\n );\r\n const [min, setMin] = useState();\r\n const dataRequest = {\r\n label: props.template.label,\r\n alter: props.template.alter,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n formula: props.template.attribute?.formula || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n decimal: parseInt(props.template.attribute?.decimal) || 0,\r\n default: props.template.attribute?.default || \"\",\r\n align: props.template.attribute?.align === \"l\" ? true : false,\r\n min: Number(props.template.attribute?.min) || 0,\r\n max: Number(props.template.attribute?.max) || 0,\r\n useComma: props.template.attribute?.useComma === \"Y\" ? true : false,\r\n symbol: props.template.attribute?.symbol || \"\",\r\n symbolPosition:\r\n props.template.attribute?.symbolPosition === \"B\" ? true : false,\r\n summary: props.template.attribute?.summary === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: Number(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isSummary: props.template.attribute?.isSummary === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n console.log(\"hideIn=>\", props.template.attribute?.hideInPdf);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Decimal:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setDecimal(e.value);\r\n }}\r\n min={0}\r\n max={10}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender !== \"table\" && (\r\n
\r\n
\r\n

Formula:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/), Function sum() Ex. : Column Label 1*Column\r\n Label 2, sum(Table Label;Column Label) *sum() Function can only\r\n put 1 column label.\r\n

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

Min:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setMin(e.value);\r\n }}\r\n mode=\"decimal\"\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n

Max:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={min}\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Value Align Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Symbol:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Symbol Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Summary:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setSummary(e.checked);\r\n // if (field) {\r\n // setReadonly(true);\r\n // props.setValue(\"readonly\", true);\r\n // }\r\n }}\r\n checked={summary}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Comma:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n // if (!summary) {}\r\n field.onChange(e.checked);\r\n\r\n setReadonly(e.checked);\r\n }}\r\n checked={readonly}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

ShowTotal In Table:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BiArchiveIn } from \"react-icons/bi\";\r\nimport { FaHeading } from \"react-icons/fa\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setRevisionConditions: any;\r\n revisionConditions: any;\r\n conditionsIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionModal(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [selected, setSelected] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"edit\") {\r\n setSelectedFormName({\r\n item: props.revisionConditions.conditions[props.conditionsIdx]?.label,\r\n });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"an\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n function saveConditions() {\r\n if (selectedFormName == undefined) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"add\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.push(newConditions);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n } else if (props.checkAction === \"edit\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions[props.conditionsIdx] = newConditions;\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n saveConditions();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n setSelected(e)}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={0}\r\n curPage={selected}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

FormName :

\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","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport AddConditionModal from \"./AddConditionModal\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n revisionConditions: any;\r\n setRevisionConditions: any;\r\n}\r\n\r\nexport default function RevisionComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template.attribute?.digit) || 0,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionsIdx, setConditionsIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n\r\n function deleteCondition(idx: number) {\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.splice(idx, 1);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.revisionConditions.conditions.length >= 1 ? (\r\n <>\r\n
\r\n
\r\n {props.revisionConditions.conditions.map(\r\n (_data: any, idx: number) => (\r\n
\r\n {\r\n setConditionsIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"edit\");\r\n }}\r\n >\r\n {`[${\r\n idx + 1\r\n }]`}\r\n \r\n {_data.label}\r\n \r\n
\r\n
\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: any;\r\n}\r\n\r\nexport default function ShortTextComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n layoutLength?: any;\r\n renderIn?: string;\r\n}\r\n\r\nexport default function CreateControlSideBarElement(props: Props) {\r\n const SideBarData = [\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Heading\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Table\"}\r\n icon={}\r\n page={9}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"RichText\"}\r\n icon={}\r\n page={10}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={11}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Image\"}\r\n icon={}\r\n page={12}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {/* {props.layoutLength === 2 && ( */}\r\n props.onSelectView(e)}\r\n title={\"Button\"}\r\n icon={}\r\n page={13}\r\n curPage={props.curPage}\r\n />\r\n {/* )} */}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Auto Number\"}\r\n icon={}\r\n page={14}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Revision\"}\r\n icon={}\r\n page={15}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataInColumn = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n {props.renderIn === \"control\" && (\r\n {\r\n console.log(SideBarData, \"SideBarData\");\r\n }}\r\n >\r\n {SideBarData.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n {props.renderIn === \"column\" && (\r\n \r\n {SideBarDataInColumn.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function TextAreaComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport CreateControlSideBarElement from \"../ModalCreateComponents/CreateControlSideBarElement\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport \"./TableCreateComponents.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setFromRender: any;\r\n fromRender: string;\r\n layoutIdx: any;\r\n action: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n}\r\n\r\nexport default function ColumnComponent(props: Props) {\r\n const column: any = [\r\n {\r\n label: {},\r\n alter: null,\r\n control: {},\r\n data: {\r\n value: null,\r\n },\r\n },\r\n ];\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const {\r\n control: control2,\r\n formState: { errors: errors2 },\r\n setValue,\r\n handleSubmit: handleSubmit2,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setSelected(\"1\");\r\n props.setFromRender(\"table\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [selected, itemsList]);\r\n\r\n const checkType = () => {\r\n if (props.action === \"edit\") {\r\n let _column = props.attributeColumn.column[props.layoutIdx];\r\n console.log(props.attributeColumn, \"_column\");\r\n checkActionButton(_column.control.template.type);\r\n }\r\n };\r\n const checkActionButton = (dataType: any) => {\r\n if (dataType === \"t\") {\r\n setSelected(\"1\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"at\") {\r\n setSelected(\"8\");\r\n } else {\r\n setSelected(\"1\");\r\n }\r\n };\r\n\r\n const requestData = (columnData: any, columnIdx?: number) => {\r\n let _column = props.attributeColumn.column;\r\n if (props.action === \"add\") {\r\n _column.push(columnData);\r\n } else if (props.action === \"edit\") {\r\n _column[props.layoutIdx] = columnData;\r\n }\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._column],\r\n }));\r\n props.setFromRender(\"control\");\r\n };\r\n\r\n const updateChanges2 = (data: any) => {\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"5\" || selected === \"6\" || selected === \"7\") {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (selected === \"1\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length?.toString() || \"0\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable?.toString() || \"0\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal?.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min?.toString(),\r\n max: data.max?.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isSummary: data.isSummary ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: {\r\n items: [],\r\n },\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"8\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n default: data.defaultValueImage,\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n }\r\n\r\n props.setViewModal(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _column: any;\r\n if (props.action === \"add\") {\r\n _column = props.attributeColumn;\r\n } else if (props.action === \"edit\") {\r\n let respone = props.attributeColumn.column[props.layoutIdx];\r\n _column = {\r\n label: respone?.label,\r\n alter: respone?.alter,\r\n description: respone?.control?.template?.description,\r\n attribute: {\r\n description: respone?.control?.template?.attribute?.description,\r\n default: respone?.control?.template?.attribute?.default,\r\n length: parseInt(respone?.control?.template?.attribute?.length),\r\n require: respone?.control?.template?.attribute?.require,\r\n readonly: respone?.control?.template?.attribute?.readonly,\r\n min: parseInt(respone?.control?.template?.attribute?.min),\r\n max: parseInt(respone?.control?.template?.attribute?.max),\r\n useComma: respone?.control?.template?.attribute?.useComma,\r\n symbol: respone?.control?.template?.attribute?.symbol,\r\n symbolPosition: respone?.control?.template?.attribute?.symbolPosition,\r\n summary: respone?.control?.template?.attribute?.summary,\r\n decimal: parseInt(respone?.control?.template?.attribute?.decimal),\r\n formula: respone?.control?.template?.attribute?.formula,\r\n align: respone?.control?.template?.attribute?.align,\r\n multipleLine: respone?.control?.template?.attribute?.multipleLine,\r\n date: {\r\n symbol: respone?.control?.template?.attribute?.date?.symbol,\r\n },\r\n items: [...(respone?.control?.template?.attribute?.items || \"\")],\r\n display: respone?.control?.template?.attribute?.display,\r\n widthInTable: parseInt(\r\n respone?.control?.template?.attribute?.widthInTable\r\n ),\r\n hideInPdf: respone?.control?.template?.attribute?.hideInPdf,\r\n isSummary: respone?.control?.template?.attribute?.isSummary,\r\n },\r\n };\r\n }\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit2);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleKeyDown(e, handleSubmit2);\r\n }}\r\n >\r\n {component}\r\n
\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n type=\"button\"\r\n >\r\n \r\n Cancel\r\n \r\n\r\n \r\n Save\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Spin } from \"antd\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n GetAllTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateByIdDto,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport \"./TableCreateComponents.css\";\r\n\r\ninterface Props {\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n control: any;\r\n template: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n setConditions: any;\r\n conditions: any;\r\n advanceForm: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function ReferenceDocument(props: Props) {\r\n const [loading, setLoading] = useState(true);\r\n const [visibleDocControl, setVisibleDocControl] = useState(false);\r\n const dataRequest = {\r\n enabledpopupdefdoc:\r\n props.template.attribute?.enabledpopupdefdoc === \"Y\" ? true : false,\r\n doccontrol:\r\n props.template.attribute?.refdoc?.doccontrol === true ? true : false,\r\n };\r\n\r\n const itemsType = [{ name: \"Template\" }, { name: \"Report\" }];\r\n\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n\r\n const itemsConditionList = [\r\n { name: \"ใต้สังกัด\", value: \"under\" },\r\n { name: \"ค่าคงที่\", value: \"fixed value\" },\r\n ];\r\n\r\n const conditionRefDoc: any = {\r\n label: \"\",\r\n conditionType: \"under\",\r\n value: \"\",\r\n };\r\n const [defaultValueRefDoc, setDefaultValueRefDoc] = useState();\r\n const [defaultValueRefDoc2, setDefaultValueRefDoc2] = useState();\r\n\r\n const [defaultValueReport, setDefaultValueReport] = useState([]);\r\n const [checkAction, setCheckAction] = useState();\r\n const [actionSubmit, setActionSubmit] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const isFirstRun = useRef(true);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n value: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n setLoading(true);\r\n await fetchDataTemplate();\r\n await defaultValueDropDown();\r\n await defaultValueDocControl();\r\n setLoading(false);\r\n }\r\n fetchMyAPI();\r\n }, []);\r\n function defaultValueDocControl() {\r\n if (dataRequest.doccontrol) {\r\n setVisibleDocControl(true);\r\n }\r\n }\r\n function defaultValueDropDown() {\r\n if (props?.mergeColumnRefDoc?.columnRefDoc?.length >= 1) {\r\n let array: any = [];\r\n let array2: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n });\r\n });\r\n props?.mergeColumnRefDoc?.columnRefDoc.map((_data: any, idx: any) => {\r\n array2.push({\r\n RefDocLabel: _data.RefDocLabel,\r\n });\r\n });\r\n let arr3 = array.map((item: any, i: number) =>\r\n Object.assign({}, item, array2[i])\r\n );\r\n\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arr3],\r\n }));\r\n } else {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n }\r\n useEffect(() => {\r\n if (props.template.attribute.refdoc) {\r\n mapDefaultData();\r\n }\r\n }, [defaultValueRefDoc]);\r\n\r\n function mapDefaultData() {\r\n if (props.template) {\r\n let MapData = props.template.attribute.refdoc.docref.map(\r\n (item: any) => item.id\r\n );\r\n\r\n if (defaultValueRefDoc) {\r\n let dafault = defaultValueRefDoc.filter((item: any) =>\r\n MapData.includes(item.TemplateId.toString())\r\n );\r\n if (props.template.attribute.refdoc.docref) {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: [...dafault],\r\n }));\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchDataTemplateById();\r\n }, [props.selectedReportRef]);\r\n useEffect(() => {\r\n newValueAlterSelected();\r\n }, [actionSubmit]);\r\n useEffect(() => {\r\n setValueConfigColumnTable();\r\n }, [props.selectedTemplateRef]);\r\n\r\n const setValueConfigColumnTable = async () => {\r\n let mapper: any = [];\r\n if (\r\n props.docDataSource.docDataSource === \"Report\" &&\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n ) {\r\n let array: any[] = [];\r\n const reportId = parseInt(\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n );\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList?.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else if (\r\n props.selectedTemplateRef?.docref?.length > 0 &&\r\n props.docDataSource.docDataSource === \"Template\"\r\n ) {\r\n props.selectedTemplateRef?.docref?.map((item: any, index: number) => {\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n });\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n defaultConfigColumn();\r\n }\r\n };\r\n function defaultConfigColumn() {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n async function newValueAlterSelected() {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n props.setSelectedReportRef([]);\r\n props.setSelectedTemplateRef([]);\r\n }\r\n }\r\n async function fetchDataTemplateById() {\r\n if (checkAction === \"2\") {\r\n let _dataTemplate: any[] = [];\r\n const templateCode = props.selectedReportRef?.docReport?.TemplateId;\r\n const arrayCode = templateCode?.split(\"|\");\r\n const _response = defaultValueRefDoc2?.filter((item: any) =>\r\n arrayCode?.includes(item?.DocumentCode)\r\n );\r\n const _response2 = _response?.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n if (_response2) {\r\n _dataTemplate.push(..._response2);\r\n } else {\r\n _dataTemplate.push();\r\n }\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n }\r\n async function fetchDataTemplate() {\r\n if (\r\n !props.docDataSource.docDataSource ||\r\n typeof props.docDataSource.docDataSource === \"object\"\r\n ) {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _dataReportTemplate = await ReportTemplateList();\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n setDefaultValueRefDoc2([..._dataTemplate]);\r\n console.log(_dataReportTemplate, \"_dataReportTemplate\");\r\n setDefaultValueReport([..._dataReportTemplate]);\r\n props.setDefaultConfigColumn([...itemsControlLabel]);\r\n }\r\n\r\n function deleteCondition(idx: any) {\r\n let _condition = props.conditions.conditionrefdoc;\r\n _condition.splice(idx, 1);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [..._condition],\r\n }));\r\n }\r\n async function selectedReportById(idReport: number) {\r\n if (idReport) {\r\n let arrayReport: any[] = [];\r\n const response = await ReportTemplateSelectByReportID(idReport);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n arrayReport.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, arrayReport);\r\n props.setDefaultConfigColumn([..._data]);\r\n let arrayMerge: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n arrayMerge.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arrayMerge],\r\n }));\r\n }\r\n }\r\n function renderIsDocControl() {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Template New Doc\r\n
\r\n

ฟอร์มสร้างใหม่

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Edit Doc\r\n
\r\n

ฟอร์มแก้ไข

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Cancel Doc\r\n
\r\n

ฟอร์มยกเลิก

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {!loading && (\r\n \r\n console.log(\r\n props.defaultConfigColumn,\r\n \"ee\",\r\n props.mergeColumnRefDoc\r\n )\r\n }\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n Data source\r\n
\r\n

ประเภทข้อมูล

\r\n \r\n \r\n
\r\n
\r\n {itemsType.map((items: any) => {\r\n return (\r\n
\r\n {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: e.value.name,\r\n }));\r\n setActionSubmit(!actionSubmit);\r\n setCheckAction(\"1\");\r\n if (\r\n e.value.name !== props.docDataSource.docDataSource\r\n ) {\r\n if (e.value.name === \"Template\") {\r\n setDefaultValueRefDoc([...defaultValueRefDoc2]);\r\n } else if (e.value.name === \"Report\") {\r\n console.log(\"report\", e.value.name);\r\n setDefaultValueRefDoc([]);\r\n }\r\n\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n defaultConfigColumn();\r\n }}\r\n checked={\r\n items.name === props.docDataSource.docDataSource\r\n }\r\n />\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Is DocControl\r\n
\r\n

เอกสารควบคุม

\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setVisibleDocControl(!visibleDocControl);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {visibleDocControl && renderIsDocControl()}\r\n
\r\n \r\n )}\r\n\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Report Reference Document\r\n \r\n
\r\n

รายงานอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n setCheckAction(\"2\");\r\n props.setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: e.value,\r\n }));\r\n props.setSelectedTemplateRef([]);\r\n selectedReportById(e.value?.ReportTemplateId);\r\n }}\r\n optionLabel=\"ReportName\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"ReportName\"\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n />\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Display popup Reference Document add row in table\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enabled\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.length !== 0 && (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Config Column\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {_data.ColumnLabel}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: { ColumnLabel: any }) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ColumnLabel: _val.ColumnLabel,\r\n RefDocLabel: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n
\r\n
\r\n \r\n )\r\n )}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let col = props.conditions.conditionrefdoc;\r\n col.push(conditionRefDoc);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [...col],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.conditions?.conditionrefdoc?.length !== 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"under\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"fixed value\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.value,\r\n conditionType: _val.conditionType,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType: e.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"name\"\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"item\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"item\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.target.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n}\r\n\r\nexport default function FooterTableComponents(props: Props) {\r\n const footerData: any = {\r\n label: \"\",\r\n formula: \"\",\r\n symbol: \"\",\r\n useValue: false,\r\n value: \"\",\r\n };\r\n\r\n function deleteFooterTable(idx: any) {\r\n let _footerTable = props.footerTable?.rows;\r\n _footerTable.splice(idx, 1);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [..._footerTable],\r\n }));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let rows = props.footerTable.rows;\r\n rows.push(footerData);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...rows],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.footerTable.rows.length !== 0 && (\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 {props.footerTable?.rows?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Formula

\r\n

สูตร

\r\n
\r\n

Symbol

\r\n

สัญลักษณ์

\r\n
\r\n

Input Value

\r\n

กรอกค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.target.value,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: e.target.value,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: e.target.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n useValue: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n checked={props.footerTable?.rows[idx]?.useValue}\r\n />\r\n \r\n {\r\n deleteFooterTable(idx);\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TabMenu } from \"primereact/tabmenu\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport ColumnComponent from \"./ColumnComponent\";\r\nimport { BiText } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { FaRegListAlt } from \"react-icons/fa\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport ReferenceDocument from \"./ReferenceDocument\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport FooterTableComponents from \"./FooterTableComponents\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setAttributeColumn: any;\r\n attributeColumn: any;\r\n setFromRender: any;\r\n fromRender: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n conditions: any;\r\n setConditions: any;\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function TableComponent(props: Props) {\r\n const [viewModal, setViewModal] = useState(false);\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [action, setAction] = useState(\"\");\r\n console.log(\"props.template\", props.template);\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n formula: props.template.formula || \"\",\r\n hideInPdf: props.template?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n canImport: props.template?.canImport === \"Y\" || \"\" ? true : false,\r\n column: props.template.attribute?.column || [],\r\n };\r\n useEffect(() => {\r\n let respone = props.attributeColumn.column;\r\n for (let i = 0; i < respone.length; i++) {\r\n if (respone[i].guid == undefined) {\r\n respone[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...respone],\r\n }));\r\n }, []);\r\n\r\n const items = [\r\n { label: \"Column\", icon: \"pi pi-book\" },\r\n { label: \"Reference Document\", icon: \"pi pi-folder\" },\r\n { label: \"FooterTable\", icon: \"pi pi-cog\" },\r\n ];\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n MultiChoice\r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n }\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.attributeColumn.column;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function deleteColumn(idx: any) {\r\n let _components = props.attributeColumn.column;\r\n _components.splice(idx, 1);\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._components],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Formula :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/) Ex. : Column Label 1*Column Label 2=Column Label\r\n 3\r\n

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

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Can Import:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setActiveIndex(e.index);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {activeIndex === 0 && (\r\n <>\r\n
\r\n {\r\n props.setFromRender(\"table\");\r\n setViewModal(true);\r\n setAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Column\r\n \r\n
\r\n {props.attributeColumn.column.length !== 0 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.attributeColumn.column.map(\r\n (_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n setViewModal(true);\r\n setLayoutIdx(idx);\r\n setAction(\"edit\");\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n \r\n {_data.alter != \"\"\r\n ? ` / ${_data.alter}`\r\n : \"\"}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.control.template.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteColumn(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n )\r\n )}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {activeIndex === 1 && (\r\n <>\r\n \r\n \r\n )}\r\n {activeIndex === 2 && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { Image } from \"antd\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line, RiDeleteBin2Line } from \"react-icons/ri\";\r\nimport \"./ImageComponents.css\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n}\r\nexport default function ImageComponents(props: Props) {\r\n const [widthControl, setWidthControl] = useState();\r\n const [heightControl, setHeightControl] = useState();\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n fileTypeImage: props.template.fileType || \"*jpg*jpeg*png*bmp\",\r\n maxFile: parseInt(props.template.attribute?.maxFile) || 50,\r\n width: parseInt(props.template.attribute?.width) || 310,\r\n height: parseInt(props.template.attribute?.height) || 190,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n };\r\n const onFileSelect = async (e: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(response.data.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n useEffect(() => {\r\n setWidthControl(dataRequest.width);\r\n setHeightControl(dataRequest.height);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

File Type Format : *png*jpeg

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

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setWidthControl(e.value);\r\n if (e.value >= 300) {\r\n setWidthControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

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

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setHeightControl(e.value);\r\n if (e.value >= 300) {\r\n setHeightControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

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

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e);\r\n }}\r\n accept=\".jpg, .jpeg, .png,\"\r\n className={`set-input-component-css form-control ${classNames(\r\n {\r\n \"p-invalid\": fieldState.invalid,\r\n }\r\n )}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport ButtonComponent from \"../ButtonComponent/ButtonComponent\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport AutoNumberComponent from \"../AutoNumberComponent/AutoNumberComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport EditorComponent from \"../EditorComponent/EditorComponent\";\r\nimport HeadingComponent from \"../HeadingComponent/HeadingComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport RevisionComponent from \"../RevisionComponent/RevisionComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TableComponent from \"../TableComponent/TableComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport CreateControlSideBarElement from \"./CreateControlSideBarElement\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./ModalCreateComponents.css\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport ImageComponents from \"../ImageComponents/ImageComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Spin } from \"antd\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\ninterface Props {\r\n visibleCreateControl: boolean;\r\n setVisibleCreateControl: any;\r\n itemIdx: number;\r\n layoutIdx: number;\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n layoutLength: any;\r\n}\r\ninterface SelectedTemplateRef {\r\n docref: string[];\r\n}\r\n\r\nexport default function ModalCreateComponents(props: Props) {\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n const displayCheckBox = [\r\n { name: \"Heading\", code: \"N\" },\r\n { name: \"Text\", code: \"Y\" },\r\n ];\r\n\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const [loading, setLoading] = useState(true);\r\n //checkbox-dropdown editor table\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const [fromRender, setFromRender] = useState(\"control\");\r\n const [richText, setRichText] = useState({});\r\n const [checkBoxHeading, setCheckBoxHeading] = useState({\r\n name: \"Heading\",\r\n code: \"N\",\r\n });\r\n const [attributeNumber, setAttributeNumber] = useState({\r\n formats: [],\r\n });\r\n const [revisionConditions, setRevisionConditions] = useState({\r\n conditions: [],\r\n });\r\n\r\n //table\r\n const [attributeColumn, setAttributeColumn] = useState({ column: [] });\r\n const [footerTable, setFooterTable] = useState({ rows: [] });\r\n const [mergeColumnRefDoc, setMergeColumnRefDoc] = useState({\r\n columnRefDoc: [],\r\n });\r\n const [docDataSource, setDocDataSource] = useState({\r\n docDataSource: {},\r\n });\r\n const [selectedReportRef, setSelectedReportRef] = useState({\r\n docReport: {},\r\n });\r\n const [selectedTemplateRef, setSelectedTemplateRef] = useState({\r\n docref: [],\r\n });\r\n const [selectedDocControlTemplate, setSelectedDocControlTemplate] =\r\n useState({\r\n docNewDoc: [],\r\n docEditDoc: [],\r\n docCancelDoc: [],\r\n });\r\n const [defaultConfigColumn, setDefaultConfigColumn] = useState([]);\r\n const [conditions, setConditions] = useState({ conditionrefdoc: [] });\r\n const [attributeButton, setAttributeButton] = useState({ items: [] });\r\n const [uploadFileState, setUploadFileState] = useState();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n getValues,\r\n setValue,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setLoading(true);\r\n setFromRender(\"control\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n renderComponent();\r\n }, [\r\n selected,\r\n itemsList,\r\n revisionConditions,\r\n attributeColumn,\r\n attributeNumber,\r\n mergeColumnRefDoc,\r\n docDataSource,\r\n selectedReportRef,\r\n selectedTemplateRef,\r\n conditions,\r\n props.advanceForm,\r\n attributeButton,\r\n uploadFileState,\r\n footerTable,\r\n selectedDocControlTemplate,\r\n defaultConfigColumn,\r\n checkBoxHeading,\r\n ]);\r\n const checkType = () => {\r\n let _itemsLength = props.advanceForm.items[props.itemIdx].layout.length;\r\n let _templatesDes =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n if (_templatesDes.type === \"em\") {\r\n setCheckAction(\"add\");\r\n addFunction();\r\n if (props.layoutLength === 1) {\r\n setSelected(\"1\");\r\n } else if (props.layoutLength === 2) {\r\n setSelected(\"2\");\r\n }\r\n setLoading(false);\r\n } else {\r\n setCheckAction(\"edit\");\r\n checkActionButton(_templatesDes.type, _templatesDes, _data, _itemsLength);\r\n }\r\n };\r\n function addFunction() {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n const checkActionButton = async (\r\n dataType: any,\r\n templatesDes: any,\r\n data: any,\r\n _itemsLength: any\r\n ) => {\r\n if (dataType === \"l\") {\r\n defaultCheckBoxHeading(templatesDes);\r\n setSelected(\"1\");\r\n } else if (dataType === \"t\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"8\");\r\n } else if (dataType === \"tb\") {\r\n await defaultValueReportTable(templatesDes);\r\n await defaultValueTemplateTable(templatesDes);\r\n await defaultValueFooterTable(templatesDes);\r\n await defaultValueConfigColumnTable(templatesDes);\r\n setSelected(\"9\");\r\n } else if (dataType === \"ed\") {\r\n setSelected(\"10\");\r\n } else if (dataType === \"at\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"11\");\r\n } else if (dataType === \"im\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"12\");\r\n } else if (dataType === \"bt\") {\r\n setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [...templatesDes.attribute.items],\r\n }));\r\n setSelected(\"13\");\r\n } else if (dataType === \"an\") {\r\n setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [...templatesDes.attribute.formats],\r\n }));\r\n setSelected(\"14\");\r\n } else if (dataType === \"rvs\") {\r\n if (templatesDes.attribute?.conditions) {\r\n setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [...templatesDes.attribute.conditions],\r\n }));\r\n }\r\n setSelected(\"15\");\r\n } else {\r\n if (_itemsLength === 1) {\r\n setSelected(\"1\");\r\n } else {\r\n setSelected(\"2\");\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n const defaultCheckBoxHeading = (templatesDes: any) => {\r\n if (templatesDes.istext === \"Y\") {\r\n setCheckBoxHeading(displayCheckBox[1]);\r\n } else if (templatesDes.istext === \"N\") {\r\n setCheckBoxHeading(displayCheckBox[0]);\r\n }\r\n };\r\n const defaultValueReportTable = async (templatesDes: any) => {\r\n setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...templatesDes.attribute.column],\r\n }));\r\n if (templatesDes.attribute?.mergecolumnrefdoc) {\r\n setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...templatesDes.attribute.mergecolumnrefdoc],\r\n }));\r\n }\r\n if (templatesDes.attribute?.conditionrefdoc) {\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: templatesDes.attribute.conditionrefdoc,\r\n }));\r\n }\r\n if (templatesDes.attribute?.refdoc?.docDataSource) {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: templatesDes.attribute.refdoc.docDataSource,\r\n }));\r\n let _dataReportTemplate = await ReportTemplateList();\r\n var response = _dataReportTemplate.filter(\r\n (x: { ReportTemplateId: string }) =>\r\n x.ReportTemplateId.toString() ===\r\n templatesDes.attribute.refdoc.docReport\r\n );\r\n setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: response[0] || [],\r\n }));\r\n }\r\n };\r\n const defaultValueTemplateTable = async (templatesDes: any) => {\r\n if (templatesDes.attribute?.refdoc?.docref?.length >= 1) {\r\n console.log(\"refdoc\", templatesDes.attribute.refdoc.docref);\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _template: any[] = [];\r\n for (let i = 0; i < templatesDes.attribute?.refdoc.docref.length; i++) {\r\n const docRef = templatesDes.attribute.refdoc.docref[i];\r\n\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n console.log(\"tempp\", template);\r\n // template id\r\n\r\n if (docRef.id == template.DocumentCode) {\r\n _template.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docRef: _template,\r\n }));\r\n setDefaultValueDocControl(templatesDes, _dataTemplate);\r\n }\r\n };\r\n const defaultValueFooterTable = (templatesDes: any) => {\r\n if (templatesDes.attribute?.footerTable) {\r\n setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...templatesDes.attribute?.footerTable.rows],\r\n }));\r\n }\r\n };\r\n const defaultValueConfigColumnTable = async (templatesDes: any) => {\r\n let mapper: any = [];\r\n console.log(templatesDes.attribute?.refdoc?.docref, \"response1\");\r\n console.log(templatesDes.attribute?.refdoc?.docDataSource, \"response2\");\r\n\r\n if (templatesDes.attribute?.refdoc?.docDataSource === \"Report\") {\r\n let array: any[] = [];\r\n const reportId = parseInt(templatesDes.attribute?.refdoc?.docReport);\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n console.log(response, \"response\");\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n console.log(_data, \"_data\");\r\n setDefaultConfigColumn([..._data]);\r\n } else if (\r\n templatesDes.attribute?.refdoc?.docref > 0 &&\r\n templatesDes.attribute?.refdoc?.docDataSource === \"Template\"\r\n ) {\r\n templatesDes.attribute?.refdoc?.docref?.map(\r\n (item: any, index: number) => {\r\n console.log(\"tem\", item);\r\n\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n }\r\n );\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n setDefaultConfigColumn([..._data]);\r\n }\r\n };\r\n const setDefaultValueDocControl = async (\r\n templatesDes: any,\r\n _dataTemplate: any\r\n ) => {\r\n //docNewDoc\r\n if (templatesDes.attribute?.refdoc?.docNewDoc) {\r\n let _newDoc: any[] = [];\r\n const docNewDocArray =\r\n templatesDes.attribute?.refdoc?.docNewDoc?.split(\",\");\r\n for (let i = 0; i < docNewDocArray.length; i++) {\r\n const newDoc = docNewDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (newDoc == template.DocumentCode) {\r\n _newDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: _newDoc,\r\n }));\r\n }\r\n //docEditDoc\r\n if (templatesDes.attribute?.refdoc?.docEditDoc) {\r\n let _docEditDoc: any[] = [];\r\n const docEditDocArray =\r\n templatesDes.attribute?.refdoc?.docEditDoc?.split(\",\");\r\n for (let i = 0; i < docEditDocArray.length; i++) {\r\n const docEditDoc = docEditDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docEditDoc == template.DocumentCode) {\r\n _docEditDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: _docEditDoc,\r\n }));\r\n }\r\n //docCancelDoc\r\n if (templatesDes.attribute?.refdoc?.docCancelDoc) {\r\n let _docCancelDoc: any[] = [];\r\n const docCancelDocArray =\r\n templatesDes.attribute?.refdoc?.docCancelDoc?.split(\",\");\r\n for (let i = 0; i < docCancelDocArray.length; i++) {\r\n const docCancelDoc = docCancelDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docCancelDoc == template.DocumentCode) {\r\n _docCancelDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: _docCancelDoc,\r\n }));\r\n }\r\n };\r\n const requestData = (\r\n templates: any,\r\n itemIdx: number,\r\n layoutIdx: number,\r\n _data?: any\r\n ) => {\r\n let _templates = templates;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].template = _templates;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].data = _data;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n const requestDataToLayout = (\r\n layout: any,\r\n itemIdx: number,\r\n layoutIdx: number\r\n ) => {\r\n let _layout = layout;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx] = _layout;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n\r\n const updateChanges = async (data: any) => {\r\n let checkUnique: boolean = false;\r\n\r\n if (fromRender !== \"control\") {\r\n return;\r\n }\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"6\" || selected === \"7\" || selected === \"8\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (props.advanceForm.items?.length >= 1) {\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index2: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (_dataLayout.template.type !== \"em\") {\r\n if (\r\n _dataLayout.template.label === data.label &&\r\n _dataLayout.template.label !==\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx]\r\n .template.label\r\n ) {\r\n if (!data.description) {\r\n checkUnique = true;\r\n }\r\n } else if (checkAction === \"edit\") {\r\n if (\r\n selected === \"2\" ||\r\n selected === \"4\" ||\r\n selected === \"7\" ||\r\n selected === \"8\"\r\n ) {\r\n if (\r\n data.description ===\r\n _dataLayout.template.attribute?.description &&\r\n _dataLayout.template.label === data.label &&\r\n props.advanceForm.items[props.itemIdx].layout[\r\n props.layoutIdx\r\n ].guid !== _dataLayout.guid\r\n ) {\r\n checkUnique = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (checkUnique) {\r\n toggleAlert({\r\n description: `Duplicate information in label.\\n please input field description.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n\r\n if (selected === \"1\") {\r\n console.log(data, \"dataRequest\");\r\n const dataRequest = {\r\n type: \"l\",\r\n label: data.labelHeading || \"\",\r\n alter: data.alter || \"\",\r\n istext: checkBoxHeading.code,\r\n textvalue: data.textvalue || \"\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n };\r\n\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min.toString(),\r\n max: data.max.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n // test\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = {\r\n value: null,\r\n item: [],\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"8\") {\r\n const dataRequest = {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"9\") {\r\n //functionCheckInputWidth\r\n // let checkWidthInTableDoNotHas: boolean = false;\r\n // let checkWidthInTableHasValue: boolean = false;\r\n // console.log(attributeColumn, \"_width\");\r\n\r\n // attributeColumn.column.map((_column: any) => {\r\n // if (\r\n // _column.control.template.attribute?.widthInTable === \"0\" ||\r\n // !_column.control.template.attribute?.widthInTable\r\n // ) {\r\n // checkWidthInTableDoNotHas = true;\r\n // } else {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue && checkWidthInTableDoNotHas) {\r\n // checkWidthInTableDoNotHas = false;\r\n // attributeColumn.column.map((_column: any) => {\r\n // const _width = _column.control.template.attribute?.widthInTable || 0;\r\n // if (_width !== \"0\") {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue) {\r\n // toggleAlert({\r\n // description: `Please fill in all required width fields.`,\r\n // message: `Width field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // return;\r\n // }\r\n // }\r\n const dataRequest = {\r\n type: \"tb\",\r\n label: data.label,\r\n alter: data.alter,\r\n formula: data.formula,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n canImport: data.canImport ? \"Y\" : \"N\",\r\n attribute: {\r\n column: attributeColumn.column,\r\n enabledpopupdefdoc: data.enabledpopupdefdoc ? \"Y\" : \"N\",\r\n mergecolumnrefdoc: mergeColumnRefDoc?.columnRefDoc || [],\r\n conditionrefdoc: conditions?.conditionrefdoc,\r\n refdoc: {\r\n doccontrol:\r\n docDataSource.docDataSource === \"Template\"\r\n ? data.doccontrol\r\n : false,\r\n docDataSource: docDataSource?.docDataSource,\r\n docReport:\r\n docDataSource.docDataSource === \"Report\"\r\n ? selectedReportRef?.docReport?.ReportTemplateId?.toString() ||\r\n \"\"\r\n : \"\",\r\n docNewDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docNewDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docEditDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docEditDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docCancelDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docCancelDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docref:\r\n selectedTemplateRef?.docref?.map((data: any, idx: any) => {\r\n return {\r\n id: data.TemplateId.toString(),\r\n };\r\n }) || [],\r\n },\r\n footerTable: footerTable,\r\n autoRowNumber: \"Y\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = {\r\n row: null,\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"10\") {\r\n const dataRequest = {\r\n template: {\r\n type: \"ed\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: \"\",\r\n height: data.height.toString(),\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: richText.value,\r\n },\r\n guid: generateQuickGuid(),\r\n };\r\n requestDataToLayout(dataRequest, props.itemIdx, props.layoutIdx);\r\n } else if (selected === \"11\") {\r\n const dataRequest = {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"12\") {\r\n const dataRequest = {\r\n type: \"im\",\r\n label: data.label,\r\n alter: data.alter,\r\n fileType: data.fileTypeImage,\r\n attribute: {\r\n maxFile: data.maxFile.toString(),\r\n width: data.width?.toString() || \"\",\r\n height: data.height?.toString() || \"\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"13\") {\r\n const dataRequest = {\r\n type: \"bt\",\r\n label: data.label,\r\n alter: data.textButton,\r\n URL: data.url,\r\n attribute: {\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n items: attributeButton.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"14\") {\r\n const dataRequest = {\r\n type: \"an\",\r\n label: data.label,\r\n alter: data.alter,\r\n digit: data.digit.toString(),\r\n attribute: {\r\n formats: attributeNumber.formats,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"15\") {\r\n const dataRequest = {\r\n type: \"rvs\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n digit: data.digit.toString(),\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n conditions: revisionConditions.conditions,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n }\r\n props.setVisibleCreateControl(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _template =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"9\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"10\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"11\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"12\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"13\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"14\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"15\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (selected === \"1\" || selected === \"3\") {\r\n return;\r\n } else if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit);\r\n }\r\n };\r\n return (\r\n <>\r\n <>\r\n \r\n {props.visibleCreateControl && (\r\n \r\n props.setVisibleCreateControl(!props.visibleCreateControl)\r\n }\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n // footer\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n handleKeyDown(e, handleSubmit);\r\n }}\r\n >\r\n
{component}
\r\n\r\n
\r\n props.setVisibleCreateControl(false)}\r\n className=\"hover-color-css-white-3 p-button-outlined\"\r\n icon=\"pi pi-times-circle\"\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","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TinyMceComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../Services/UploadFileService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n}\r\n\r\nfunction TinyMceComponent(props: Props) {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const [loadingTextFromValue, setLoadingTextFromValue] =\r\n useState(true);\r\n\r\n const handleEditorChange = (content: any, editor: any) => {\r\n props.setTextFromValue(content);\r\n };\r\n return (\r\n
\r\n {loadingTextFromValue && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoadingTextFromValue(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 500,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats: \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n images_upload_handler: async function (blobInfo, success, failure) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={props.textFromValue}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default TinyMceComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./FormSettingComponent.css\";\r\nimport { Row, Col } from \"antd\";\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\n\r\nimport Column1 from \"../../../assets/ImageAddControl/Column1.svg\";\r\nimport Column2 from \"../../../assets/ImageAddControl/Column2.svg\";\r\nimport Field from \"../../../assets/ImageAddControl/Field.svg\";\r\nimport FluentText from \"../../../assets/ImageAddControl/FluentText.svg\";\r\n\r\nimport ModalCreateComponents from \"../../CreateControlComponents/ModalCreateComponents/ModalCreateComponents\";\r\nimport { Button as ButtonComponent } from \"../../../components/Button/Button\";\r\nimport { Button } from \"primereact/button\";\r\nimport ButtonForm from \"../../ButtonForm/ButtonForm\";\r\nimport { AiOutlineNumber, AiOutlinePlus } from \"react-icons/ai\";\r\n\r\nimport iconsDelete from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsDelete.svg\";\r\nimport iconsCopy from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsCopy.svg\";\r\nimport iconsEdit from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsEdit.svg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsFileEarmarkText,\r\n BsFileFont,\r\n BsSortNumericDown,\r\n BsTable,\r\n BsTrash,\r\n BsX,\r\n} from \"react-icons/bs\";\r\nimport { BiCopyAlt, BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n textFromValue: any;\r\n setTextFromValue: any;\r\n setViewManageComponent: any;\r\n viewManageComponent: any;\r\n setControlModel: any;\r\n};\r\n\r\nconst FormSettingComponent = (props: Props) => {\r\n const [viewModalControl, setViewModalControl] = useState(false);\r\n\r\n const [itemIdx, setItemsIdx] = useState();\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [layoutLength, setLayoutLength] = useState();\r\n\r\n const column1: any = {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n const column2: any = {\r\n items: {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n },\r\n };\r\n function findUnique(str: string, data: any) {\r\n var uniq = str;\r\n data.map((_dataLayout: any, index: number) => {\r\n _dataLayout.layout.map((_data: any, index: number) => {\r\n if (_data.template.label != undefined) {\r\n if (_data.template.type !== \"em\") {\r\n if (_data.template.label.includes(str)) {\r\n uniq = uniq + \"-copy\";\r\n console.log(str);\r\n console.log(_data.template.label);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return uniq;\r\n }\r\n\r\n function copyLayout(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n if (_components[itemIdx].layout.length == 1) {\r\n var unique = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol1: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol1);\r\n } else if (_components[itemIdx].layout.length == 2) {\r\n var unique1 = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n var unique2 = findUnique(\r\n _components[itemIdx].layout[1].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol2: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique1,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n ...data.layout[1].template,\r\n label: unique2,\r\n },\r\n data: data.layout[1].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol2);\r\n }\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteLayout(itemIdx: number, layoutIdx: number) {\r\n let _components = props.advanceForm.items;\r\n _components.splice(itemIdx, 1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteControl(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n _components[itemIdx].layout[layoutIdx].template = {};\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.advanceForm.items;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...items],\r\n }));\r\n };\r\n\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"l\") {\r\n return (\r\n <>\r\n \r\n Heading\r\n \r\n );\r\n } else if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n \r\n MultiChoice\r\n \r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"tb\") {\r\n return (\r\n <>\r\n \r\n Table\r\n \r\n );\r\n } else if (dataType === \"ed\") {\r\n return (\r\n <>\r\n \r\n Rich Text\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n } else if (dataType === \"bt\") {\r\n return (\r\n <>\r\n \r\n \r\n Button\r\n \r\n \r\n );\r\n } else if (dataType === \"an\") {\r\n return (\r\n <>\r\n \r\n \r\n AutoNumber\r\n \r\n \r\n );\r\n } else if (dataType === \"rvs\") {\r\n return (\r\n <>\r\n \r\n Revision\r\n \r\n );\r\n } else if (dataType === \"im\") {\r\n return (\r\n <>\r\n \r\n Image\r\n \r\n );\r\n }\r\n }\r\n function truncate(str: any, no_words: any) {\r\n return str.split(\" \").splice(0, no_words).join(\" \");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n console.log(props.advanceForm, \"ControlModel\");\r\n }}\r\n >\r\n
\r\n {\r\n props.setViewManageComponent(\"1\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: false },\r\n }));\r\n }}\r\n >\r\n Field\r\n \r\n\r\n {\r\n props.setViewManageComponent(\"2\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: true },\r\n }));\r\n }}\r\n >\r\n Text\r\n \r\n
\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {props.advanceForm.items.length === 0 ? (\r\n
\r\n

Please Add Column

\r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.advanceForm.items.map((data: any, idx: any) => (\r\n {\r\n setLayoutLength(data.layout.length);\r\n }}\r\n >\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {data.layout.map((_data: any, idx2: any) => (\r\n \r\n {_data.template.label ? (\r\n
\r\n \r\n deleteControl(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n
\r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n \r\n copyLayout(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n \r\n deleteLayout(idx, idx2)\r\n }\r\n >\r\n \r\n

\r\n
\r\n {\r\n setItemsIdx(idx);\r\n setLayoutIdx(idx2);\r\n setViewModalControl(true);\r\n }}\r\n >\r\n {_data.template?.type &&\r\n _data.template?.type != \"em\" ? (\r\n
\r\n
\r\n \r\n {/* {_data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )} */}\r\n\r\n {_data.template.textvalue ? (\r\n truncate(\r\n _data.template.textvalue,\r\n 3\r\n )\r\n ) : _data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {_data.template.textvalue\r\n ? \"\"\r\n : _data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"}\r\n {/* {_data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"} */}\r\n \r\n
\r\n
\r\n
\r\n {renderIconShowCreateControl(\r\n _data.template.type\r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n

\r\n \r\n Add Control\r\n

\r\n )}\r\n
\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column1\r\n \r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column2.items);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column2\r\n \r\n
\r\n )}\r\n {props.viewManageComponent == \"2\" && (\r\n \r\n )}\r\n \r\n {viewModalControl && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormSettingComponent;\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport Item from \"antd/lib/list/Item\";\r\n\r\ninterface Props {\r\n advanceForm: any;\r\n updateData: any;\r\n setDialogVisible: any;\r\n}\r\n\r\nfunction SelectCondition(props: Props) {\r\n const [selectedColumn, setSelectedColumn] = useState();\r\n const [options, setOptions] = useState([]);\r\n const [value, setValue] = useState();\r\n\r\n const [numCondition, setNumCondition] = useState();\r\n const [isMultiValue, setIsMultiValue] = useState(false);\r\n const [multiOptions, setMultiOptions] = useState([]);\r\n const [multiValues, setMultiValues] = useState();\r\n const [isCheckBox, setIsCheckBox] = useState(false);\r\n const num_conditions = [\r\n { label: \"Equal to (=)\", value: \"Equal_to\" },\r\n { label: \"Not equal (!=)\", value: \"Not_equal\" },\r\n { label: \"Greater-Than (>)\", value: \"Greater_Than\" },\r\n { label: \"Greater-Than or Equal to (>=)\", value: \"Greater_Than_or_Equal_\" },\r\n { label: \"Less-Than (<)\", value: \"Less_Than\" },\r\n { label: \"Less-Than or Equal to (<=)\", value: \"Less_Than_or_Equal_to\" },\r\n ];\r\n\r\n useEffect(() => {\r\n const advanceForm: any[] = props.advanceForm.items;\r\n let columns: any[] = [];\r\n advanceForm.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (\r\n layout.template.type !== \"l\" &&\r\n layout.template.type !== \"em\" &&\r\n layout.template.type !== \"tb\" &&\r\n !isEmptyObject(layout.template)\r\n ) {\r\n columns.push({ label: layout.template.label, control: layout });\r\n }\r\n });\r\n });\r\n setOptions(columns);\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n if (selectedColumn !== undefined) {\r\n if (selectedColumn.control) {\r\n if (selectedColumn.control.template.attribute !== undefined) {\r\n if (selectedColumn.control.template.attribute.items !== undefined) {\r\n setIsMultiValue(true);\r\n if (selectedColumn.control.template.type === \"cb\"){\r\n setIsCheckBox(true);\r\n } else {\r\n setIsCheckBox(false);\r\n }\r\n setMultiOptions(selectedColumn.control.template.attribute.items);\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [selectedColumn]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setSelectedColumn(e.value);\r\n setMultiValues(null);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={options}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setValue(e.target.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": value !== undefined && value !== \"\" || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)? false : true,\r\n })}\r\n autoFocus\r\n />\r\n
\r\n
\r\n {selectedColumn?.control?.template?.type === \"c\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setNumCondition(e.value);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={num_conditions}\r\n />\r\n
\r\n
\r\n )}\r\n {isMultiValue && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isCheckBox && (\r\n {\r\n setMultiValues(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n filter\r\n showClear\r\n filterBy=\"item\"\r\n optionLabel=\"item\"\r\n options={multiOptions}\r\n />\r\n )}\r\n {isCheckBox && (\r\n setMultiValues(\r\n e.value\r\n )} \r\n options={multiOptions} \r\n placeholder=\" ----- Select ----- \" \r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") || (multiValues !== undefined && multiValues !== \"\" && multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n />\r\n )}\r\n
\r\n
\r\n )\r\n }\r\n
\r\n \r\n }\r\n onClickProps={() => props.setDialogVisible(false)}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n {\r\n let val: any;\r\n if (selectedColumn !== undefined) {\r\n if (value !== undefined && value !== \"\") {\r\n val = value;\r\n const data: any = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n if (numCondition) {\r\n val = value;\r\n data.action = numCondition;\r\n }\r\n props.updateData(data, \"condition\");\r\n }\r\n\r\n if (multiValues) {\r\n if (multiValues.item) {\r\n val = multiValues.item;\r\n const data = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n else{\r\n let value = multiValues.map((item:any)=>{\r\n return item.item\r\n });\r\n let newValue = value.toString();\r\n const data = {\r\n field: selectedColumn.label,\r\n value: newValue,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n }\r\n }\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Save\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectCondition;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\nimport \"../ReferenceDocumentComponents/ReferenceDocumentComponents.css\";\r\nimport { Button } from \"antd\";\r\ninterface Props {\r\n name: string;\r\n dataKey: string;\r\n dataList: any;\r\n columns: any[];\r\n loading: boolean;\r\n setLoading: any;\r\n updateData: any;\r\n}\r\n\r\nfunction SelectDataFormTable(props: Props) {\r\n const [globalFilterValue1, setGlobalFilterValue1] = useState(\"\");\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [filters1, setFilters1] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [globalFilter, setGlobalFilter] = useState(\r\n Object.keys(props.dataList[0])\r\n );\r\n const [selectedData, setSelectedData] = useState([]);\r\n\r\n const dynamicColumns = props.columns.map((col: any) => {\r\n let field = \"\";\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = col.field.replace(\"Th\", \"En\");\r\n } else {\r\n field = col.field.replace(\"En\", \"Th\");\r\n }\r\n return ;\r\n });\r\n console.log(selectedData);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const value = e.target.value;\r\n let _filters1 = { ...filters1 };\r\n _filters1[\"global\"].value = value;\r\n setFilters1(_filters1);\r\n setGlobalFilterValue1(value);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n // props.updateData(e.data);\r\n // }}\r\n onSelectionChange={(e) => {\r\n setSelectedData(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {dynamicColumns}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n selectedData.forEach((e) => {\r\n props.updateData(e);\r\n });\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SelectDataFormTable;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport SelectDataFormTable from \"./SelectDataFormTable\";\r\nimport moment from \"moment\";\r\nimport { InputNumber, Radio, Select } from \"antd\";\r\nimport type { SelectProps } from \"antd\";\r\nimport { ReportListTemplateSelect } from \"../../../Services/ReportService\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\n\r\ninterface Props {\r\n control: any;\r\n advanceForm: any;\r\n getFormErrorMessage: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n rowData?: any;\r\n allApproveLength: number;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n approveSlot?: number;\r\n}\r\n\r\nexport default function AddMatrixForm(props: Props) {\r\n const [positionLevelOptions, setPositionLevelOptions] = useState([]);\r\n const [options, setOptions] = useState([]);\r\n const [matrixOptions, setMatrixOptions] = useState([]);\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [showDialogFootter, setShowDialogFootter] = useState(true);\r\n const [maxLevel, setMaxLevel] = useState();\r\n const [positionLevel, setPositionLevel] = useState();\r\n const [approvalMatrixDD, setApprovalMatrixDD] = useState();\r\n const [conditionsValue, setConditionsValue] = useState([]);\r\n const [specficApprovals, setSpecficApprovals] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const [loadingSelectData, setLoadingSelectData] = useState(true);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [temSeq, setTemSeq] = useState(0);\r\n const [loc, setLoc] = useState(false);\r\n const [dtp, setDtp] = useState(false);\r\n const [doa, setDoa] = useState(false);\r\n const [spc, setSpc] = useState(false);\r\n const [isParallel, setIsParallel] = useState(false);\r\n const [parallelType, setParallelType] = useState(\"\");\r\n const [approveSlot, setApproveSlot] = useState();\r\n const [readHide, setReadHide] = useState();\r\n const [isRead, setIsRead] = useState(false);\r\n const [isHide, setIsHide] = useState(false);\r\n const [isNewReq, setIsNewReq] = useState(false);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateSelected, setTemplateSelected] = useState([]);\r\n const [templateSelectedField, setTemplateSelectedField] = useState([]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n useEffect(() => {\r\n if (props.rowData !== undefined) {\r\n setDefValue(props.rowData);\r\n }\r\n }, [matrixOptions]);\r\n\r\n useEffect(() => {\r\n if (props.signatureList !== undefined) {\r\n console.log(\"signature\", props.signatureList);\r\n\r\n props.signatureList.map((e: any) => {\r\n if (e.seq == 1) {\r\n setDefSignatureID(e.masterId);\r\n } else if (e.value2 == \"Approved\") {\r\n setDefSignatureID(e.masterId);\r\n }\r\n });\r\n }\r\n }, [props.signatureList]);\r\n\r\n function setDefValue(rowData: any) {\r\n try {\r\n let conditions: any[] = [];\r\n if (\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n if (\r\n rowData.Conditions.Conditions !== undefined &&\r\n rowData.Conditions.Conditions !== null\r\n ) {\r\n rowData.Conditions.Conditions.map((con: any) => {\r\n conditions.push({\r\n field: con.field,\r\n value: con.value,\r\n });\r\n });\r\n setConditionsValue(conditions);\r\n }\r\n }\r\n if (\r\n rowData.ColumnJsonCondValue !== undefined &&\r\n rowData.ColumnJsonCondValue !== null &&\r\n rowData.ColumnJsonCondValue !== \"\"\r\n ) {\r\n let actionFeild = rowData.ColumnJsonCondValue.fieldaction;\r\n let isNewReq =\r\n rowData.ColumnJsonCondValue.isRequester === \"Y\" ? true : false;\r\n let readHide = rowData.ColumnJsonCondValue.action;\r\n\r\n if (readHide === \"readonly\") {\r\n setIsRead(true);\r\n setIsHide(false);\r\n } else if (readHide === \"hide\") {\r\n setIsHide(true);\r\n setIsRead(false);\r\n } else {\r\n setIsHide(false);\r\n setIsRead(false);\r\n }\r\n props.control._formValues.ReadHide = readHide;\r\n props.control._formValues.isNewReq = isNewReq;\r\n props.control._formValues.fieldaction = actionFeild;\r\n setReadHide(readHide);\r\n setIsNewReq(isNewReq);\r\n setTemplateSelected(actionFeild);\r\n }\r\n\r\n if (rowData.ApproveType === 19) {\r\n setLoc(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.MaxLevelId = e;\r\n setMaxLevel(e);\r\n }\r\n });\r\n props.control._formValues.Line_of_Command = true;\r\n } else if (rowData.ApproveType === 22) {\r\n setDtp(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.PositionLevelId = e;\r\n setPositionLevel(e);\r\n }\r\n });\r\n props.control._formValues.Direct_to_Position = true;\r\n } else if (rowData.ApproveType === 21) {\r\n setDoa(true);\r\n props.matrixList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.ApproveMatrixId) {\r\n props.control._formValues.Approval_MatrixId = e;\r\n setApprovalMatrixDD(e);\r\n }\r\n });\r\n props.control._formValues.Design_of_Authority = true;\r\n } else if (rowData.ApproveType === 20) {\r\n setSpc(true);\r\n props.control._formValues.Specific_Approver = true;\r\n props.control._formValues.spc_isParallel = rowData.IsParallel;\r\n setIsParallel(rowData.IsParallel);\r\n props.control._formValues.IsApproveAll = rowData.IsApproveAll;\r\n setParallelType(rowData.IsApproveAll ? \"all\" : \"slot\");\r\n props.control._formValues.approverSlot = rowData.ApproveSlot;\r\n setSpecficApprovals(rowData.Specific_Approver);\r\n }\r\n } catch (error) {\r\n console.error(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n const updateChanges = (data: any, componentName?: string) => {\r\n try {\r\n if (data !== undefined) {\r\n if (componentName === \"condition\") {\r\n let conditions: any[] = conditionsValue;\r\n conditions.push({\r\n field: data.field,\r\n value: data.value,\r\n action: data.action,\r\n });\r\n console.log(\"conditions\", conditions);\r\n setConditionsValue(conditions);\r\n } else if (data.EmployeeId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const user = data;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: user.EmployeeId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? user.NameEn : user.NameTh,\r\n Position:\r\n userData.employeeData.Lang === \"EN\"\r\n ? user.PositionNameEn\r\n : user.PositionNameTh,\r\n SpecificTypeId: 874,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n\r\n setSpecficApprovals([...specific_Approver]);\r\n } else if (data.RoleId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const role = data;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: role.RoleId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? role.NameEn : role.NameTh,\r\n\r\n Position: role.RoleDescription,\r\n SpecificTypeId: 875,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n } else {\r\n if (componentName === \"requestor\") {\r\n let specific_Approver: any[] = specficApprovals;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : temSeq\r\n : temSeq,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: null,\r\n EmployeeName: \"(Requestor)\",\r\n Position: \"\",\r\n SpecificTypeId: 876,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n }\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n function callSelectConditionForm() {\r\n setShowDialogFootter(true);\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n // async function fetchMasterData() {\r\n // let options: any[] = [];\r\n // let signatrue = await GetSignature();\r\n // signatrue.map((s: any) => {\r\n // if (s.value2 === \"Approved\") {\r\n // setDefSignatureID(s.masterId);\r\n // }\r\n // options.push({ id: s.masterId, value1: s.value1, value2: s.value2 });\r\n // });\r\n\r\n // setSinatureOptions([...options]);\r\n // }\r\n\r\n async function fetchMatrixData() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n setMatrixOptions([...matrix.filter((e: any) => e.IsActive === true)]);\r\n }\r\n\r\n async function callSelectUserDialog(apiName: string) {\r\n setDialogTitle(\"Add User\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n header: \"EmployeeCode\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n header: \"Employee Name\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n header: \"Position\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n header: \"Department\",\r\n },\r\n {\r\n field: \"Email\",\r\n header: \"Email\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n if (_dataDynamic !== undefined) {\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n async function callSelectRoleDialog(apiName: string) {\r\n setDialogTitle(\"Add Role\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"NameEn\",\r\n header: \"Name\",\r\n },\r\n {\r\n field: \"RoleDescription\",\r\n header: \"Description\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n setLoadingSelectData(false);\r\n if (_dataDynamic !== undefined) {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n },\r\n });\r\n };\r\n\r\n async function fecthPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n _dataDynamic.sort((a, b) => (a.PositionLevel < b.PositionLevel ? 1 : -1));\r\n setPositionLevelOptions(_dataDynamic);\r\n }\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n // fecthPosition();\r\n fetchMatrixData();\r\n fetchTemplatData();\r\n if (props.rowData !== undefined) {\r\n setTemSeq(props.rowData.Seq - 1);\r\n } else {\r\n setTemSeq(props.allApproveLength);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (specficApprovals && specficApprovals.length > 0) {\r\n specficApprovals.map((spc: any) => {\r\n if (spc.SignatureID === 0 || spc.SignatureID === -1) {\r\n spc.SignatureID = defSignatureID;\r\n }\r\n });\r\n props.control._formValues.specific_Approver = specficApprovals;\r\n }\r\n }, [specficApprovals]);\r\n\r\n useEffect(() => {\r\n if (props.control._fields.Conditions !== undefined) {\r\n props.control._formValues.Conditions = conditionsValue;\r\n }\r\n }, [conditionsValue]);\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any[] = specficApprovals;\r\n line[rowInx].SignatureID = event.value.masterId;\r\n setSpecficApprovals([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n let selectedValue: any[] = [];\r\n\r\n specficApprovals.map((e: any) => {\r\n console.log(e);\r\n\r\n if (e.SignatureID !== undefined && e.SignatureID !== -1) {\r\n props.signatureList.map((sig: any) => {\r\n if (e.SignatureID === sig.masterId) {\r\n selectedValue.push(sig);\r\n }\r\n });\r\n } else {\r\n console.log(props.signatureList);\r\n\r\n const getSign = props.signatureList.find((sig: any) => {\r\n return sig.seq === \"1\";\r\n });\r\n\r\n selectedValue.push(getSign);\r\n }\r\n });\r\n // console.log(getSign);\r\n\r\n return (\r\n // onSelected_Sinatures(e, option.rowIndex)}\r\n // // optionLabel={userData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"}\r\n // placeholder=\"Select a Signature\"\r\n // />\r\n <>{selectedValue[option.rowIndex]}\r\n );\r\n };\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = props.advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n label = template.type + \" : \" + template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n if (template.type === \"tb\") {\r\n for (let k = 0; k < template.attribute.column.length; k++) {\r\n let templateCol = template.attribute.column[k];\r\n label =\r\n template.type +\r\n \" : \" +\r\n template.label +\r\n \" : \" +\r\n templateCol.label;\r\n key = template.label + \" : \" + templateCol.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n }\r\n\r\n console.log(\"arrayFliedTest_templateSelect_templateSelect\", arrayFliedTest);\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n function OnchangeTemplate(data: any) {\r\n let templateChange: any = [];\r\n\r\n let TemplateSelect = data;\r\n TemplateSelect.map((data: any) => {\r\n templateChange.push({\r\n key: data.key,\r\n type: data.type,\r\n lable: data.label,\r\n });\r\n });\r\n\r\n setTemplateSelectedField(templateChange);\r\n setTemplateSelected(data);\r\n }\r\n\r\n return (\r\n <>\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDialogTitle(\"Select Condition\");\r\n callSelectConditionForm();\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Condition\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n (\r\n <>\r\n {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n value={conditionsValue}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n conditionsValue,\r\n setConditionsValue,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setReadHide(e.value);\r\n if (e.value === \"readonly\") {\r\n setIsRead(true);\r\n setIsHide(false);\r\n } else if (e.value === \"hide\") {\r\n setIsHide(true);\r\n setIsRead(false);\r\n } else {\r\n setIsHide(false);\r\n setIsRead(false);\r\n }\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={[\r\n {\r\n value: \"readonly\",\r\n label: \"Read Only\",\r\n name: \"Read Only\",\r\n },\r\n { value: \"hide\", label: \"Hide\", name: \"Hide\" },\r\n ]}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {isRead && !isHide && (\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n OnchangeTemplate(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n filter\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n {isHide && !isRead && (\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n OnchangeTemplate(e.value);\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n {readHide && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setIsNewReq(e.checked);\r\n }}\r\n checked={isNewReq}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ใช่\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setLoc(e.checked);\r\n setMaxLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={loc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n สายการบังคับบัญชา\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDtp(e.checked);\r\n setPositionLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={dtp}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ส่งถึงตำแหน่ง\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDoa(e.checked);\r\n setApprovalMatrixDD(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={doa}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติตามอำนาจการดำเนินการ\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setSpc(e.checked);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={spc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n เลือกผู้อนุมัติเอง\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setMaxLevel(e.value);\r\n }}\r\n disabled={!loc}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\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 field.onChange(e.value);\r\n setPositionLevel(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!dtp}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\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 field.onChange(e.value);\r\n setApprovalMatrixDD(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!doa}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={matrixOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n {spc && (\r\n <>\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectUserDialog(\"Employee\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add User\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectRoleDialog(\"Roles\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Role\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n updateChanges(undefined, \"requestor\");\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Requestor\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (!val.target.checked) {\r\n props.control._fields.approverSlot = 0;\r\n }\r\n setIsParallel(val.target.checked);\r\n field.onChange(val.target.checked);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n (\r\n {\r\n setParallelType(e.target.value);\r\n field.onChange(e.target.value);\r\n }}\r\n disabled={!isParallel}\r\n value={parallelType}\r\n >\r\n
\r\n Approve All\r\n
\r\n \r\n {/* set field cant show value */}\r\n Approve of \r\n (\r\n {\r\n field.onChange(e);\r\n\r\n console.log(\"value\", e, approveSlot);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n {/* (\r\n {\r\n field.onChange(e);\r\n }}\r\n />\r\n )}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {spc && (\r\n \r\n {\r\n console.log(\"matrix=>\", specficApprovals);\r\n }}\r\n >\r\n (\r\n {\r\n field.onChange(e.value);\r\n setSpecficApprovals([...e.value]);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={(rowData: any, options) => {\r\n console.log({ rowData, options });\r\n let val = rowData.SignatureId;\r\n if (val === -1 || val === undefined) {\r\n val = props?.signatureList.find(\r\n (e: any) => e.seq == 1\r\n ).masterId;\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n return {\r\n label:\r\n userData.employeeData.Lang === \"EN\"\r\n ? e[\"value2\"]\r\n : e[\"value1\"],\r\n value: e.masterId,\r\n };\r\n }) || []\r\n }\r\n onChange={(e) => {\r\n // onSelected_Sinatures(e, options.rowIndex)\r\n\r\n field.onChange(\r\n field.value.map(\r\n (row: any, idx: number) => {\r\n if (idx === options.rowIndex) {\r\n row.SignatureId = e.target.value;\r\n }\r\n return row;\r\n }\r\n )\r\n );\r\n }}\r\n placeholder=\"Signature Wording\"\r\n />\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n specficApprovals,\r\n setSpecficApprovals,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n {props.getFormErrorMessage(\"specific_Approver\")}\r\n \r\n \r\n )}\r\n \r\n \r\n {\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n {!loadingSelectData && dialogBody}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Button } from \"primereact/button\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiCopy, FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport \"../ApproveMatrixComponent/ApproveMatrix.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport AddMatrixCondition from \"./AddMatrixCondition\";\r\nimport moment from \"moment\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { BiCopyAlt } from \"react-icons/bi\";\r\nimport { MdOutlineContentCopy } from \"react-icons/md\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n setLogicsApprover: any;\r\n}\r\n\r\ninterface TemApprove {\r\n MaxLevelId?: any;\r\n ApprovalMatrixId?: any;\r\n ApproveType: number;\r\n Conditions: any;\r\n}\r\n\r\nexport default function ApproveMatrix(props: any) {\r\n const { toggleAlert } = useAlert();\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [redundant_Approver, setRedundant_Approver] = useState([]);\r\n const [auto_Approve, setAuto_Approve] = useState();\r\n const [allApprovals, setAllApprovals] = useState([]);\r\n const [selectedApprovals, setSelectedApprovals] = useState([]);\r\n const [templateLogics, setTemplateLogics] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [dialogMode, setDialogMode] = useState(\"\");\r\n const toast = useRef(null);\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n let allSelected = allApprovals;\r\n let approveType = -1;\r\n\r\n if (\r\n data.Line_of_Command ||\r\n data.Direct_to_Position ||\r\n data.Design_of_Authority ||\r\n data.Specific_Approver\r\n ) {\r\n //for Edit\r\n if (data.Seq > 0) {\r\n let _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.Conditions = {};\r\n if (data.Conditions.length > 0) {\r\n approval.Conditions.Conditions = data.Conditions;\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n if (data.ReadHide) {\r\n approval.ColumnJsonCondValue = _ColumnJsonCondValue;\r\n } else {\r\n approval.ColumnJsonCondValue = null;\r\n }\r\n if (data.Line_of_Command) {\r\n approval.ApproveType = 19;\r\n approval.Type = \"Line of Command\";\r\n approval.MaxLevelId = data.MaxLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh;\r\n } else if (data.Direct_to_Position) {\r\n approval.ApproveType = 22;\r\n approval.Type = \"Direct to Position\";\r\n approval.MaxLevelId = data.PositionLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh;\r\n } else if (data.Design_of_Authority) {\r\n approval.ApproveType = 21;\r\n approval.Type = \"Design of Authority\";\r\n approval.MaxLevelId = data.Approval_MatrixId.ApproveMatrixId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh;\r\n } else if (data.Specific_Approver) {\r\n approval.ApproveType = 20;\r\n approval.Type = \"Specific Approver\";\r\n approval.Specific_Approver = data.specific_Approver;\r\n approval.IsParallel = data.spc_isParallel;\r\n approval.IsApproveAll = data.spc_isApproveAll === \"all\";\r\n approval.ApproveSlot =\r\n data.spc_isApproveAll === \"slot\"\r\n ? data.approverSlot\r\n : data.approverSlot;\r\n }\r\n }\r\n });\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n } else {\r\n //for Add\r\n if (data.Line_of_Command) {\r\n approveType = 19;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.MaxLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Line of Command\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Direct_to_Position) {\r\n approveType = 22;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.PositionLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Direct to Position\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Design_of_Authority) {\r\n approveType = 21;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.Approval_MatrixId.ApproveMatrixId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Design of Authority\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n if (data.Specific_Approver) {\r\n console.log(\"matrix=>data\", data);\r\n\r\n approveType = 20;\r\n let _ColumnJsonCondValue: any = {};\r\n _ColumnJsonCondValue = {\r\n action: data.ReadHide,\r\n fieldaction: data.fieldaction,\r\n isRequester: data.isNewReq === true ? \"Y\" : \"N\",\r\n };\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n Specific_Approver: data.specific_Approver,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Specific Approver\",\r\n ColumnJsonCondValue: _ColumnJsonCondValue,\r\n IsParallel: data.spc_isParallel,\r\n IsApproveAll: data.spc_isApproveAll === \"all\",\r\n ApproveSlot:\r\n data.spc_isApproveAll === \"slot\" ? data.approverSlot : null,\r\n };\r\n\r\n allSelected.push(approval);\r\n console.log(\"matrix=>\", allSelected);\r\n\r\n setAllApprovals([...allSelected]);\r\n toggleDialog();\r\n reset();\r\n }\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Type of Approval is reqiure`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Type of Approval is reqiure\",\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n function toggleDialog() {\r\n setDialogVisible(!dialogVisible);\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n if (name === \"specific_Approver\") {\r\n } else {\r\n return (\r\n errors[name] && (\r\n {errors[name].message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n function callAddMatrixForm() {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n const onRedundantChange = (e: any) => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (e.checked) {\r\n selected.push(e.value);\r\n } else {\r\n selected.splice(selected.indexOf(e.value), 1);\r\n }\r\n\r\n setRedundant_Approver(selected);\r\n };\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApprove:\r\n redundant_Approver.indexOf(\"Auto Approve By System\") !== -1,\r\n ApproverCanEdit:\r\n redundant_Approver.indexOf(\"Approver Can Edit Document\") !== -1,\r\n IsCheckAccess:\r\n redundant_Approver.indexOf(\"Approver can check access document\") !==\r\n -1,\r\n },\r\n }));\r\n }, [redundant_Approver]);\r\n\r\n const onDeleteRow = (rowData: any, rowIdx: number) => {\r\n let selected: any = [...allApprovals];\r\n let newSpcApprovals: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n className: \"matrix-confirmDialog\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n if (e.Specific_Approver !== undefined) {\r\n e.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId = e.TemLineId !== undefined ? e.TemLineId : e.Seq;\r\n newSpcApprovals.push(spc);\r\n });\r\n }\r\n });\r\n setAllApprovals([...selected]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n specificApprovers: newSpcApprovals,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let TemLineApprove: any[] = [];\r\n let spc_approval: any[] = [];\r\n let conditions: any[] = [];\r\n let logic: any[] = [];\r\n let TemplateLogic: any[] = [];\r\n\r\n allApprovals.map((approval: any, index: number) => {\r\n let LstCondition: any[] = [];\r\n if (\r\n approval.Conditions !== undefined &&\r\n approval.Conditions !== null &&\r\n approval.Conditions !== \"\"\r\n ) {\r\n if (\r\n approval.Conditions.Conditions !== undefined &&\r\n approval.Conditions.Conditions !== null\r\n ) {\r\n if (approval.Conditions.Conditions.length > 0) {\r\n approval.Conditions.Conditions.map((con: any, index: number) => {\r\n const _con = {\r\n Column: con.field,\r\n Value: con.value,\r\n Seq: index + 1,\r\n TemLineId: \"\",\r\n action: con.action,\r\n Tem_LineId: index + 1,\r\n };\r\n conditions.push(_con);\r\n LstCondition.push(_con);\r\n });\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n }\r\n }\r\n\r\n if (approval.ApproveType === 21) {\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index + 1,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: approval.MaxLevelId,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n } else {\r\n if (approval.ApproveType === 20) {\r\n approval.Specific_Approver.map((e: any, eIdx: number) => {\r\n e.Seq = eIdx + 1;\r\n spc_approval.push(e);\r\n });\r\n }\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index + 1,\r\n MaxLevelId: approval.MaxLevelId,\r\n ApprovalMatrixId: null,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n IsParallel: approval.IsParallel,\r\n IsApproveAll: approval.IsApproveAll,\r\n ApproveSlot: approval.ApproveSlot,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n }\r\n });\r\n\r\n let logicControl: any[] = [];\r\n conditions.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.Column).length === 0\r\n ) {\r\n logicControl.push({\r\n field: \"\",\r\n label: cons.Column,\r\n action: cons.action,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((con: any) => {\r\n logic.push(\r\n JSON.stringify({\r\n label: con.label,\r\n methodtype: \"ApprovalMatrix\",\r\n InsertType: \"Last\",\r\n amountstatus: \"false\",\r\n Conditions: logicControl,\r\n })\r\n );\r\n });\r\n\r\n logic.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"datalineapprove\",\r\n Jsonvalue: logic,\r\n LstCondition: conditions,\r\n });\r\n });\r\n setTemplateLogics([...TemplateLogic]);\r\n props.setLogicsApprover([...TemplateLogic]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n TemLineApprove: [...TemLineApprove],\r\n specificApprovers: [...spc_approval],\r\n }));\r\n }, [allApprovals]);\r\n\r\n useEffect(() => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (props.controlModel.templateForm.AutoApprove) {\r\n selected.push(\"Auto Approve By System\");\r\n }\r\n if (props.controlModel.templateForm.ApproverCanEdit) {\r\n selected.push(\"Approver Can Edit Document\");\r\n }\r\n if (props.controlModel.templateForm.IsCheckAccess) {\r\n selected.push(\"Approver can check access document\");\r\n }\r\n console.log(\"table=>6666666666666666\");\r\n\r\n setAllApprovalsForControl();\r\n setAuto_Approve(props.controlModel.templateForm.AutoApproveWhen);\r\n setRedundant_Approver(selected);\r\n }, []);\r\n\r\n function setAllApprovalsForControl() {\r\n try {\r\n let temp: any = props.controlModel.TemLineApprove;\r\n\r\n let spcApprove: any = props.controlModel.specificApprovers;\r\n\r\n let approvals: any = [];\r\n temp.map((tem: any, idx: number) => {\r\n let _con = \"\";\r\n let _ColumnJson = \"\";\r\n if (tem.Conditions !== \"\") {\r\n _con = JSON.parse(tem.Conditions);\r\n }\r\n if (tem.ColumnJsonCondValue) {\r\n if (tem.ColumnJsonCondValue !== \"\") {\r\n _ColumnJson = JSON.parse(tem.ColumnJsonCondValue);\r\n }\r\n }\r\n\r\n if (tem.ApproveType === 20) {\r\n let spcApproves: any = [];\r\n spcApprove.map((e: any) => {\r\n if (idx === e.TemLineId) {\r\n spcApproves.push(e);\r\n } else if (tem.TemLineId === e.TemLineId) {\r\n spcApproves.push(e);\r\n }\r\n });\r\n const approval: any = {\r\n IsParallel: tem.IsParallel,\r\n IsApproveAll: tem.IsApproveAll,\r\n ApproveSlot: tem.ApproveSlot,\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n Specific_Approver: spcApproves,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: \"Specific Approver\",\r\n };\r\n approvals.push(approval);\r\n } else if (tem.ApproveType === 21) {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMatrixData(tem.ApprovalMatrixId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.ApprovalMatrixId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n } else {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMaxLevelName(tem.MaxLevelId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.MaxLevelId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n }\r\n });\r\n setAllApprovals([...approvals]);\r\n } catch (error) {\r\n console.log(\"Matrix=>\", error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApproveWhen: auto_Approve,\r\n },\r\n }));\r\n }, [auto_Approve]);\r\n\r\n function GetMatrixData(matrixId: number) {\r\n let name: string = \"\";\r\n const matrixes = props.matrixList;\r\n\r\n matrixes.map((e: any) => {\r\n if (e.ApproveMatrixId === matrixId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetMaxLevelName(maxLevelId: number) {\r\n let name: string = \"\";\r\n const positions = props.positionList;\r\n positions.map((e: any) => {\r\n if (e.PositionLevelId === maxLevelId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetApproveType(ApproveTypeId: number) {\r\n const approveType = [\r\n { id: 19, name: \"Line of Command\" },\r\n { id: 20, name: \"Specific Approver\" },\r\n { id: 21, name: \"Design of Authority\" },\r\n { id: 22, name: \"Direct to Position\" },\r\n ];\r\n let name: string = \"\";\r\n approveType.map((e: any) => {\r\n if (e.id === ApproveTypeId) {\r\n name = e.name;\r\n }\r\n });\r\n\r\n return name;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n All Approvals\r\n

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n setDialogMode(\"Add\");\r\n setDialogTitle(\"Approve Matrix\");\r\n callAddMatrixForm();\r\n toggleDialog();\r\n }}\r\n setLabelProps={\"Add Matrix\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {\r\n e.value.map((approval: any, index: number) => {\r\n approval.Seq = index + 1;\r\n let appSpcific: any[] = [];\r\n if (approval.Specific_Approver !== undefined) {\r\n approval.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId =\r\n approval.TemLineId !== undefined\r\n ? approval.TemLineId\r\n : index;\r\n appSpcific.push(spc);\r\n });\r\n approval.Specific_Approver = appSpcific;\r\n }\r\n });\r\n\r\n setAllApprovals(e.value);\r\n }}\r\n selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n let str = \"\";\r\n\r\n if (\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n rowData?.Conditions?.Conditions?.map(\r\n (con: any, index: number) => {\r\n if (index === 0) {\r\n str = str + (con.field + \":\" + con.value);\r\n } else {\r\n str =\r\n str + \",\" + (con.field + \":\" + con.value);\r\n }\r\n }\r\n );\r\n }\r\n return str;\r\n } catch (error) {}\r\n }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n if (rowData[\"ApproveType\"] === 20) {\r\n if (rowData[\"Specific_Approver\"] !== undefined) {\r\n let str = \"\";\r\n\r\n rowData[\"Specific_Approver\"].map(\r\n (approver: any, index: number) => {\r\n if (index === 0) {\r\n str = str + approver.EmployeeName;\r\n } else {\r\n str = str + \",\" + approver.EmployeeName;\r\n }\r\n }\r\n );\r\n return str;\r\n }\r\n } else {\r\n return rowData.MaxLevelName;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n let allSelected = [...allApprovals];\r\n if (rowData.ApproveType === 20) {\r\n let spc: any[] = [];\r\n\r\n rowData.Specific_Approver.map((e: any) => {\r\n let spc_approval = {\r\n TemLineId: rowData.Seq,\r\n Seq: e.Seq,\r\n EmployeeId: e.EmployeeId,\r\n EmployeeName: e.EmployeeName,\r\n Position: e.Position,\r\n SpecificTypeId: e.SpecificTypeId,\r\n SignatureID: e.SignatureId,\r\n CreatedDate: moment(new Date()).format(\r\n \"DD MMM YYYY\"\r\n ),\r\n CreatedBy:\r\n userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\r\n \"DD MMM YYYY\"\r\n ),\r\n ModifiedBy:\r\n userData.employeeData.EmployeeId.toString(),\r\n };\r\n spc.push(spc_approval);\r\n });\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n Specific_Approver: spc,\r\n ApproveType: rowData.ApproveType,\r\n Conditions: rowData.Conditions,\r\n Type: rowData.Type,\r\n ColumnJsonCondValue:\r\n rowData.ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n } else {\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: rowData.MaxLevelId,\r\n MaxLevelName: rowData.MaxLevelName,\r\n ApproveType: rowData.ApproveType,\r\n Conditions: rowData.Conditions,\r\n Type: rowData.Type,\r\n ColumnJsonCondValue:\r\n rowData.ColumnJsonCondValue,\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n }\r\n }}\r\n >\r\n \r\n \r\n )}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n setDialogMode(\"Edit\");\r\n setDialogBody(\r\n \r\n );\r\n toggleDialog();\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Redundant Approval Condition\r\n

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ให้ระบบอนุมัติให้โดยอัตโนมัติ\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถแก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถจองข้อมูลที่แก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {redundant_Approver.indexOf(\"Auto Approve By System\") !== -1 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"F\"}\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 setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"L\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นสุดท้าย\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n \r\n {dialogBody}\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n typeProps={\"button\"}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport \"./CheckboxCpmponents.css\";\r\n\r\ninterface Props {\r\n checkedProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n notLable?: any;\r\n readOnlyProps?: boolean;\r\n}\r\n\r\nexport const CheckboxCpmponents = (props: Props) => {\r\n return (\r\n
\r\n props.onChangeProps(e.checked, props.keyProps)}\r\n readOnly={props.readOnlyProps}\r\n />\r\n \r\n {props.notLable !== true && <>{\"Yes\"}}\r\n \r\n
\r\n );\r\n};\r\n","import { AutoComplete, Button, Modal, Radio, Space, Table } from \"antd\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport type { RadioChangeEvent } from \"antd\";\r\nimport \"../TemplateDetailComponents.css\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\ninterface Props {\r\n InformationDataProps: any;\r\n setControlModelObj?: any;\r\n state?: string;\r\n checkValidation?: any;\r\n isLoadProps: any;\r\n groupDataTemplate: any;\r\n setGroupDataTemplate: any;\r\n isVersion: boolean;\r\n}\r\n\r\nexport const InformationComponents = (props: Props) => {\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [informationDataProps, setInformationDataPropst] = useState({\r\n ...props.InformationDataProps,\r\n });\r\n const [filteredAutoComplete, setFilteredAutoComplete] = useState();\r\n const [key, setKey] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isloading, setIsloading] = useState(false);\r\n const [employee, setEmployee] = useState({});\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [toSelect, setToSelect] = useState([]);\r\n const [ccSelect, setCcSelect] = useState([]);\r\n const [toName, setToName] = useState([]);\r\n const [ccnName, setCcName] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const [categoryFilter, setCategoryFilter] = useState(\r\n props.groupDataTemplate\r\n );\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(toName);\r\n const [CCValue, setCCValue] = useState(ccnName);\r\n console.log(\"mylogg\",props.InformationDataProps);\r\n useEffect(() => {\r\n if (toSelect) {\r\n let filtered = toSelect.filter((e: any, idx: number) => idx <= 2);\r\n setToValue(filtered);\r\n }\r\n if (ccnName) {\r\n let filtered = ccSelect.filter((e: any, idx: number) => idx <= 2);\r\n setCCValue(filtered);\r\n }\r\n }, [toSelect, ccSelect]);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length === 0 &&\r\n Object.keys(employee).length === 0\r\n ) {\r\n _fechDepartment();\r\n _fechEmployee();\r\n dataToAndCC(employee);\r\n }\r\n }, [departmentList, employee]);\r\n\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length !== 0 &&\r\n Object.keys(employee).length !== 0\r\n ) {\r\n dataToAndCC(employee);\r\n }\r\n }, [props.InformationDataProps]);\r\n\r\n async function dataToAndCC(employeeData: any) {\r\n try {\r\n let _to =\r\n props.InformationDataProps.templateForm.ToId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.ToId.split(\",\");\r\n\r\n let _cc =\r\n props.InformationDataProps.templateForm.CcId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.CcId.split(\",\");\r\n let _employeeData =\r\n Object.keys(employeeData).length === 0 ? [] : employeeData;\r\n if (_employeeData.length === 0) return;\r\n let _toArray: any = [];\r\n let _toName: any = [];\r\n let _ccArray: any = [];\r\n let _ccName: any = [];\r\n if (_to.length !== 0) {\r\n for (let i = 0; i < _employeeData.length; i++) {\r\n for (let j = 0; j < _to.length; j++) {\r\n if (_employeeData[i].NameEn === _to[j]) {\r\n if (_toArray.length != 0) {\r\n let _dataFilter = _toArray.filter(\r\n (item: any) => item.NameEn === _employeeData[i].NameEn\r\n );\r\n\r\n if (_dataFilter.length === 0) {\r\n _toArray.push(_employeeData[i]);\r\n }\r\n } else {\r\n _toArray.push(employee[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (_to.length !== _toArray.length) {\r\n let _dataFilter = _to.filter((data: any) => {\r\n let _data = _toArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _toArray.push(_event);\r\n }\r\n });\r\n }\r\n _toArray.map((e: any) => {\r\n _toName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setToName(_toName);\r\n setToSelect(_toArray);\r\n }\r\n if (_cc.length !== 0) {\r\n for (let i = 0; i < _employeeData.length; i++) {\r\n for (let j = 0; j < _cc.length; j++) {\r\n if (_employeeData[i].NameEn === _cc[j]) {\r\n if (_ccArray.length != 0) {\r\n let _dataFilter = _ccArray.filter(\r\n (item: any) => item.NameEn === _employeeData[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n _ccArray.push(_employeeData[i]);\r\n }\r\n } else {\r\n _ccArray.push(employee[i]);\r\n }\r\n }\r\n }\r\n }\r\n // ไม่รู้ว่ามีไว้ทำไมเลยคอมเมนท์ไว้ก่อน เขาเขียนไว้\r\n // _employeeData.filter((_data: any) => {\r\n // let _dataCc = _cc.filter(\r\n // (dataCc: any) => _data.NameTh === dataCc || _data.NameEn === dataCc\r\n // );\r\n\r\n // if (_dataCc.length !== 0) {\r\n // if(ccEmpCode == _data.EmployeeId){\r\n // _ccArray.push(_data);\r\n // }\r\n // }\r\n // });\r\n if (_cc.length !== _ccArray.length) {\r\n let _dataFilter = _cc.filter((data: any) => {\r\n let _data = _ccArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _ccArray.push(_event);\r\n }\r\n });\r\n }\r\n _ccArray.map((e: any) => {\r\n _ccName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setCcName(_ccName);\r\n setCcSelect(_ccArray);\r\n }\r\n } catch (error) {}\r\n }\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n // setDialogVisible(!isDialogVisible);\r\n // setKey(key);\r\n // _fechEmployee();\r\n // setIsloading(true);\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n setKey(key);\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployee(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n _AutoComplete(data, key === \"ToId\" ? key : \"CcId\");\r\n setDialogVisible(!isDialogVisible);\r\n // false;\r\n }\r\n\r\n async function _fechEmployee() {\r\n const _employee = await GetAllEmployee();\r\n dataToAndCC(_employee);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setIsloading(true);\r\n }\r\n\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n if (props.InformationDataProps.templateForm?.DepartmentId !== 0) {\r\n let _dataFilterDepartmentId = _dataFilter.filter(\r\n (_department: any) =>\r\n _department.DepartmentId ===\r\n props.InformationDataProps.templateForm?.DepartmentId\r\n );\r\n setDepartmentSelect(_dataFilterDepartmentId[0]);\r\n }\r\n setDepartmentList(_dataFilter);\r\n }\r\n\r\n async function _DropdownDepartment(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n DepartmentId: data.DepartmentId,\r\n },\r\n }));\r\n\r\n setDepartmentSelect(data);\r\n }\r\n }\r\n async function _RadioButtonFormType(data: any, key: any) {\r\n if (data) {\r\n setDepartmentSelect({});\r\n }\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n isPublic: data,\r\n DepartmentId:\r\n data === false\r\n ? props.InformationDataProps.templateForm.DepartmentId\r\n : 0,\r\n },\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n async function _InputText(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n let checkValue: boolean = false;\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n if (type === \"ToId\") {\r\n let _components = toSelect;\r\n _components = [..._value];\r\n setToName([..._components]);\r\n setToSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _components.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let _components = ccSelect;\r\n _components = [..._value];\r\n\r\n setCcName([..._components]);\r\n setCcSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _components.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n async function _AutoComplete(data: any, key: any) {\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n let checkValue: boolean = false;\r\n\r\n if (key === \"ToId\") {\r\n let _ToArray: any = toName;\r\n _ToArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _ToArray.push(_value);\r\n setToName([..._ToArray]);\r\n setToSelect([..._ToArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _ToArray.toString(),\r\n },\r\n }));\r\n } else if (key === \"CcId\") {\r\n let _CcArray: any = ccnName;\r\n\r\n _CcArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _CcArray.push(_value);\r\n setCcName([..._CcArray]);\r\n setCcSelect([..._CcArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _CcArray.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n const searchAutoComplete = async (event: any) => {\r\n const _employee = employee;\r\n\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [..._employee];\r\n } else {\r\n _filteredEmployee = _employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredAutoComplete(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeEnter = (event: any, key: any) => {\r\n console.log(\"searchEvent\", event);\r\n\r\n let dataSelectEmployee: any[] =\r\n key === \"ToId\" ? [...toSelect] : [...ccSelect];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n\r\n _AutoComplete(dataSelectEmployee, key === \"ToId\" ? key : \"CcId\");\r\n }\r\n };\r\n const onChangeReportLang = (e: RadioChangeEvent) => {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ReportLang: e.target.value,\r\n },\r\n }));\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = toName.filter((e: any) => e !== event);\r\n setToName([...filtered]);\r\n setToSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = ccnName.filter((e: any) => e !== event);\r\n setCcName([...filtered]);\r\n setCcSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n function insertDataByEnter(event: any, type: any) {\r\n let toArr: any[] = toName;\r\n let ccArr: any[] = ccnName;\r\n\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"ToId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n toArr.push(auto);\r\n setToName([...toArr]);\r\n setToSelect([...toArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: toArr.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n ccArr.push(auto);\r\n setCcName([...ccArr]);\r\n setCcSelect([...ccArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: ccArr.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Information

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

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option?.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let _filtered;\r\n let value = e;\r\n if (value === \"\") {\r\n _filtered = props.groupDataTemplate;\r\n } else {\r\n _filtered = props.groupDataTemplate.filter((e: any) => {\r\n return e.value\r\n ?.toLowerCase()\r\n .startsWith(value.toLowerCase());\r\n });\r\n }\r\n\r\n setCategoryFilter([..._filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: value,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: e,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: \"\",\r\n },\r\n }));\r\n }}\r\n />\r\n {props.checkValidation.GroupTemplateName &&\r\n props.InformationDataProps.templateForm.GroupTemplateName\r\n .length === 0 && (\r\n Form Category is required\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkValidation.TemplateName &&\r\n props.InformationDataProps.templateForm.TemplateName.length ===\r\n 0 && Form Name is required}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.checkValidation.DocumentCode &&\r\n props.InformationDataProps.templateForm.DocumentCode.length ===\r\n 0 && DocType is required}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? toValue : toSelect}\r\n keyProps={\"ToId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && toSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && toSelect.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({toSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"ToId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\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 selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? CCValue : ccSelect}\r\n keyProps={\"CcId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && ccSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && ccSelect.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({ccSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"CcId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n TH\r\n EN\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* validatt */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n */}\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { BsNewspaper } from \"react-icons/bs\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoPeopleOutline,\r\n IoShieldCheckmarkOutline,\r\n IoNewspaperOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { GetAllMasterData } from \"../../Services/MasterDataService\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n isCopy?: any;\r\n isVersion?: any;\r\n}\r\n\r\ntype SideBarData = {\r\n component: any;\r\n};\r\n\r\nexport const TemplateDetailSideBarElement = (props: Props) => {\r\n const [sideBarData, setSideBarData] = useState([]);\r\n\r\n useEffect(() => {\r\n GetAllMasterData().then((res) => {\r\n let isEnabledPDFDesign = res.find(\r\n (e: any) =>\r\n e.MasterType == \"PDFDesign\" &&\r\n e.IsActive == true &&\r\n e.Value1 == \"Enabled\"\r\n );\r\n let _sideBarData: SideBarData[] = [];\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Form Design\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Document\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Information\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Approval Matrix\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Authorization\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n if (isEnabledPDFDesign) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"PDF Design\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n _sideBarData.push({\r\n component: !props.isCopy && props.isVersion === true && (\r\n props.onSelectView(e)}\r\n title={\"Version and History\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n setSideBarData([..._sideBarData]);\r\n });\r\n }, [props.curPage, props.isCopy, props.isVersion]);\r\n\r\n return (\r\n \r\n {sideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\n\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n dataProps?: any;\r\n searchDataProps?: any;\r\n showModalProps?: any;\r\n isDialogVisibleProps?: any;\r\n setisDialogVisibleProps?: any;\r\n keyProps?: any;\r\n onRowSelectProps?: any;\r\n valueProps?: any;\r\n setDataProps?: any;\r\n}\r\n\r\nexport default function EmployeeDialog(props: Props) {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [userData, setUserData] = useUserContext();\r\n\r\n useEffect(() => {\r\n if (props.isDialogVisibleProps === false) {\r\n setGlobalFilterValue(\"\");\r\n }\r\n }, [props.isDialogVisibleProps]);\r\n const onRowSelect = (event: any) => {\r\n let dataSelectEmployee: any[] = [];\r\n if (props.valueProps !== undefined && props.valueProps !== null) {\r\n dataSelectEmployee = [...props.valueProps];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === event.data.NameEn ||_data.NameTh === event.data.NameTh \r\n );\r\n \r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n }\r\n\r\n // console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n // console.log(\"dataSelectEmployee\", event.data);\r\n\r\n props.onRowSelectProps(dataSelectEmployee, props.keyProps);\r\n props.setisDialogVisibleProps(false);\r\n };\r\n const onGlobalFilterChange = async (e: any) => {\r\n const value = e;\r\n const dataEmp = props.dataProps;\r\n \r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (\r\n data.NameEn\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n }else if ( data.NameTh\r\n .toString()\r\n .indexOf(value.toLowerCase()) !== -1){\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setGlobalFilterValue(value);\r\n props.setDataProps([...data]);\r\n // if (value.length === 0) {\r\n // props.setDataProps(props.searchDataProps);\r\n // }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n \r\n }\r\n body={(rowData) => {\r\n console.log(\"data2\",rowData);\r\n if (rowData.Lang !== undefined) {\r\n if (userData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n return (\r\n <>\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n departmentListProps?: any;\r\n setValueProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\n\r\nexport const AuthorizationTableDepartment = (props: Props) => {\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [departmentPlaceholderDropdown, setDepartmentPlaceholderDropdown] =\r\n useState([]);\r\n useEffect(() => {\r\n gatPlaceholder();\r\n console.log(\"props.departmentListProps\", props.departmentListProps);\r\n }, [departmentSelect]);\r\n\r\n function gatPlaceholder() {\r\n let _array: any = [];\r\n let _arrayNull: any = [];\r\n if (\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentRequestProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n } else {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentManageProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setDepartmentPlaceholderDropdown(_arrayNull);\r\n }\r\n const onClickAction = (event: any) => {\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n const _setDepartmentSelect = (event: any, key: any) => {\r\n if (key !== undefined && key !== null) {\r\n let _event = {\r\n depID: event.DepartmentId.toString(),\r\n depname: event.NameTh,\r\n depaction: key.Position,\r\n };\r\n console.log(\"_event\", _event);\r\n\r\n props.setValueProps(_event, props.keyProps);\r\n setDepartmentSelect(event);\r\n }\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n function actionBodyTemplate(rowData: any, inx: any) {\r\n return (\r\n <>\r\n rowData.rowIndex\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- Please Select --\"\r\n // : inx.rowIndex < props.departmentManageProp.length\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- eeee --\"\r\n // \"-- Please Select --\"\r\n // props.departmentRequestProp[inx.rowIndex].depaction ===\r\n // undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentRequestProp[inx.rowIndex].depaction\r\n // : props.departmentManageProp[inx.rowIndex].depaction === undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentManageProp[inx.rowIndex].depaction\r\n // \"-- Please Select --\"\r\n }\r\n onChangeProps={(e: any) => _setDepartmentSelect(rowData, e)}\r\n optionLabelProps=\"Position\"\r\n optionsProps={[{ Position: \"Above\" }, { Position: \"Below\" }]}\r\n valueProps={\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? props.departmentRequestProp\r\n : props.departmentManageProp\r\n }\r\n keyProps={\"Department\"}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n }\r\n >\r\n }\r\n >\r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { AuthorizationTableDepartment } from \"../AuthorizationTable/AuthorizationTable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\ninterface PropsDepartment {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n setControlModel?: any;\r\n departmentListProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\ninterface PropsPermission {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n roleData?: any;\r\n setDataTable?: any;\r\n companyData?: any;\r\n departmentListProps?: any;\r\n controlModel?: any;\r\n advanceFormProps?: any;\r\n actionProps?: any;\r\n setDataAuthorization_view?: any;\r\n setDataAuthorization_viewEdit?: any;\r\n\r\n editTablePermissionProps?: any;\r\n}\r\ninterface PropsPermissionEdit {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n // roleData?: any;\r\n // setDataTable?: any;\r\n // companyData?: any;\r\n // departmentListProps?: any;\r\n // controlModel?: any;\r\n // advanceFormProps?: any;\r\n // actionProps?: any;\r\n // setDataAuthorization_view?: any;\r\n // editTablePermissionProps?: any;\r\n}\r\n\r\nexport const AuthorizationDepartmentModel = (props: PropsDepartment) => {\r\n const [filters, setFilters] = useState();\r\n const [departmentList, setDepartmentList] = useState();\r\n const [departmentSelectManage, setDepartmentSelectManage] = useState();\r\n const [departmentSelectRequest, setDepartmentSelectRequest] = useState(\r\n []\r\n );\r\n useEffect(() => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }, [props.departmentManageProp, props.departmentRequestProp]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n }\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }\r\n\r\n setDepartmentList(props.departmentListProps);\r\n setFilters(props.departmentListProps);\r\n }, [\r\n props.departmentListProps,\r\n props.departmentManageProp,\r\n props.departmentManageProp,\r\n ]);\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [props.keyProps]:\r\n props.keyProps == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? departmentSelectRequest\r\n : departmentSelectManage,\r\n }));\r\n props.setVisibleProps();\r\n };\r\n const onHide = () => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n props.setVisibleProps();\r\n };\r\n\r\n const AuthorizationTableData = (data: any, key: any) => {\r\n if (\r\n key == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n let _data: any = [...departmentSelectRequest];\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n }\r\n setDepartmentSelectRequest(_data);\r\n } else {\r\n let _data: any = [...departmentSelectManage];\r\n // _data.push(data);\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n } // _data.map((_dataDepart: any) => {\r\n // console.log(\"_dataDepart\", _dataDepart);\r\n // });\r\n\r\n setDepartmentSelectManage(_data);\r\n }\r\n\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.listRefTemplate,\r\n // \"listRefTemplate\"\r\n // );\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.templateForm,\r\n // \"templateForm\"\r\n // );\r\n // props.setVisibleProps();\r\n };\r\n\r\n const onGlobalFilterTemplate = (data: any, inx: any) => {\r\n const value = data;\r\n const _Arrayfilters: any = [];\r\n let _filters = { ...filters };\r\n for (const [key, value] of Object.entries(_filters)) {\r\n _Arrayfilters.push(value);\r\n }\r\n const _dataFilter = _Arrayfilters.filter((data: any) => {\r\n if (\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentCode.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (data.length === 0) {\r\n setDepartmentList(props.departmentListProps);\r\n } else {\r\n setDepartmentList(_dataFilter);\r\n }\r\n };\r\n const [globalFilterValueTemplate, setGlobalFilterValueTemplate] = useState();\r\n return (\r\n <>\r\n onHide()}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n
\r\n \r\n \r\n

\r\n Search Department\r\n

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

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport const AuthorizationPermissionModel = (props: PropsPermission) => {\r\n const [permissionType, setPermissionType] = useState([]);\r\n const [role, setRole] = useState([]);\r\n const [roleName, setRoleName] = useState([]);\r\n const [advanceFormLabalSelect, setAdvanceFormLabalSelect] = useState([]);\r\n const [valueType, setValueType] = useState({\r\n ValueType: \"Information\",\r\n });\r\n const [informition, setInformition] = useState({\r\n Informition: \"Employee Code\",\r\n });\r\n\r\n const [company, setCompany] = useState([]);\r\n const [department, setDepartment] = useState([]);\r\n const [departmentName, setDepartmentName] = useState([]);\r\n const [companyAction, setCompanyAction] = useState([]);\r\n const [companyActionEdit, setCompanyActionEdit] = useState(\"\");\r\n const [advanceFormLabal, setAdvanceFormLabal] = useState([]);\r\n const [validation, setValidation] = useState({\r\n RoleValidation: false,\r\n DepartmentValidation: false,\r\n CompanyValidation: false,\r\n });\r\n // const [advanceFormLabal, setValueType] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps !== undefined) {\r\n if (props.editTablePermissionProps.length !== 0) {\r\n if (props.editTablePermissionProps.permissiontype === \"Role\") {\r\n let arrayRole: any = [];\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.roleData.filter(\r\n (item: any) => data.id === item.RoleId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n setRole(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"Department\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n // let arrayRole: any = [];\r\n props.editTablePermissionProps.company?.map((data: any) => {\r\n let dataRole = props.companyData.filter(\r\n (item: any) => data.id === item.CompanyId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.departmentListProps.filter(\r\n (item: any) => data.id === item.DepartmentId.toString()\r\n );\r\n if (dataRole.length !== 0) {\r\n arrayDepartment.push(dataRole[0]);\r\n }\r\n setCompanyActionEdit(data.action);\r\n });\r\n\r\n setDepartment(arrayDepartment);\r\n setCompany(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n console.log(\r\n \"props.editTablePermissionPropseeeeeeeeeeeeee\",\r\n props.editTablePermissionProps,\r\n advanceFormLabalSelect,\r\n props.actionProps\r\n );\r\n let _arrayAdvanceFormLabal: any = [];\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n _advanceFormJson.items?.map((_data: any) => {\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // props.editTablePermissionProps.company.map((data: any) => {\r\n // let dataRole = props.companyData.filter(\r\n // (item: any) => data.id === item.CompanyId.toString()\r\n // );\r\n\r\n // if (dataRole.length !== 0) {\r\n // arrayRole.push(dataRole[0]);\r\n // }\r\n // });\r\n // props.editTablePermissionProps.ids.map((data: any) => {\r\n // let dataRole = props.departmentListProps.filter(\r\n // (item: any) => data.id === item.DepartmentId.toString()\r\n // );\r\n // if (dataRole.length !== 0) {\r\n // arrayDepartment.push(dataRole[0]);\r\n // }\r\n // setCompanyActionEdit(data.action);\r\n // });\r\n\r\n // setDepartment(arrayDepartment);\r\n // setCompany(arrayRole);\r\n let _Informition: any = informition;\r\n if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeCode\"\r\n ) {\r\n _Informition.Information = \"Employee Code\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeName\"\r\n ) {\r\n _Informition.Information = \"Employee Name\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeePosition\"\r\n ) {\r\n _Informition.Information = \"Employee Position\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDivision\"\r\n ) {\r\n _Informition.Information = \"Employee Division\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDepartment\"\r\n ) {\r\n _Informition.Informition = \"Employee Department\";\r\n }\r\n\r\n setInformition({ ..._Informition });\r\n // if(props.editTablePermissionProps.formcontrol.labeltype===\"Table\")\r\n // { setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));}else{\r\n // setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));\r\n // }\r\n console.log(\r\n \"props.editTablePermissionProps0,props.editTablePermissionProps\",\r\n props.editTablePermissionProps,\r\n props.actionProps,\r\n advanceFormLabalSelect,\r\n _arrayAdvanceFormLabal\r\n );\r\n }\r\n\r\n setPermissionType(props.editTablePermissionProps);\r\n }\r\n }\r\n }, [props.editTablePermissionProps]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n }\r\n\r\n if (props.actionProps === \"edit\") {\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.IsTextForm\r\n );\r\n\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ]\r\n );\r\n\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n if (_advanceFormJson.length !== 0) {\r\n _advanceForm(_advanceFormJson);\r\n }\r\n } else {\r\n if (props.advanceFormProps.items.length !== 0) {\r\n _advanceForm(props.advanceFormProps);\r\n }\r\n }\r\n }, [props.visibleProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"per=>PermissionType\", permissionType);\r\n }, [permissionType]);\r\n\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n function _advanceForm(data: any) {\r\n try {\r\n let _arrayAdvanceFormLabal: any = [];\r\n data.items.map((_data: any) => {\r\n // dataitems.template.type === \"dd\"\r\n // ? \"Dropdown\"\r\n // : dataitems.template.type === \"tb\"\r\n // ? \"Table\"\r\n // : dataitems.template.type === \"t\"\r\n // ? \"ShortText\"\r\n // : dataitems.template.type === \"d\"\r\n // ? \"Calendar\"\r\n // : dataitems.template.type === \"at\"\r\n // ? \"Attachmen\"\r\n // : dataitems.template.type === \"ta\"\r\n // ? \"MultiLine\"\r\n // : dataitems.template.type === \"c\"\r\n // ? \"Decimal\"\r\n // : dataitems.template.type === \"r\"\r\n // ? \"Choice\"\r\n // : dataitems.template.type === \"cb\"\r\n // ? \"MultiChoice\"\r\n // : dataitems.template.type === \"n\"\r\n // ? \"Number\"\r\n // : dataitems.template.type === \"an\"\r\n // ? \"AutoNumber\"\r\n // : dataitems.template.type === \"ed\"\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\" ||\r\n __data.template.type === \"dd\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"at\" ||\r\n __data.template.type === \"r\" ||\r\n __data.template.type === \"cb\" ||\r\n __data.template.type === \"n\" ||\r\n __data.template.type === \"an\" ||\r\n __data.template.type === \"ed\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let tableFilter = _arrayAdvanceFormLabal.filter(\r\n (item: any) =>\r\n item.label === props.editTablePermissionProps.formcontrol.label\r\n );\r\n if (tableFilter.length !== 0) {\r\n setAdvanceFormLabalSelect(tableFilter[0]);\r\n }\r\n }\r\n setAdvanceFormLabal(_arrayAdvanceFormLabal);\r\n } catch (error) {}\r\n }\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n let _arrayRolePermission: any = [];\r\n if (\r\n permissionType !== undefined &&\r\n permissionType !== null &&\r\n Object.keys(permissionType).length !== 0\r\n ) {\r\n if (permissionType.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (permissionType.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (permissionType.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n if (permissionType.permissiontype === \"Role\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: roleName.length === 0 ? \"\" : roleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n } else {\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: true,\r\n }));\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.company !== undefined &&\r\n permissionType.company !== null &&\r\n permissionType.company.length !== 0 &&\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n departmentName.length === 0 ? \"\" : departmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n } else {\r\n setValidation({\r\n DepartmentValidation:\r\n permissionType.ids === undefined ||\r\n permissionType.ids === null ||\r\n permissionType.ids.length === 0\r\n ? true\r\n : false,\r\n CompanyValidation:\r\n permissionType.company === undefined ||\r\n permissionType.company === null ||\r\n permissionType.company.length === 0\r\n ? true\r\n : false,\r\n });\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n if (permissionType.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" columnname: \" +\r\n permissionType.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n console.log(\"_objTable\", { _objTable, permissionType });\r\n\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n }\r\n } else {\r\n let dataFile = props.controlModel;\r\n if (permissionType.permissiontype === \"Role\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_viewEdit(dataFile, \"Authorization_view\");\r\n }\r\n };\r\n const onHide = () => {\r\n props.setVisibleProps(props.keyAutoComplete);\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n setAdvanceFormLabalSelect({});\r\n };\r\n\r\n function onChangeDropdow(data: any, key: any) {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n\r\n if (data !== null && data !== undefined) {\r\n data.id = _uuid.toString();\r\n setPermissionType(data);\r\n }\r\n }\r\n function onChangeDropdowLable(data: any, key: any) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n if (data !== undefined && data !== null) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n\r\n setAdvanceFormLabalSelect(data);\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n label: data.label,\r\n labeltype:\r\n data.type === \"dd\"\r\n ? \"Dropdown\"\r\n : data.type === \"tb\"\r\n ? \"Table\"\r\n : data.type === \"t\"\r\n ? \"ShortText\"\r\n : data.type === \"d\"\r\n ? \"Calendar\"\r\n : data.type === \"at\"\r\n ? \"Attachmen\"\r\n : data.typee === \"r\"\r\n ? \"Radio\"\r\n : data.type === \"c\"\r\n ? \"Decimal\"\r\n : \"\",\r\n\r\n labelcolumnname: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowColumnname(data: any, key: any) {\r\n if (data !== undefined && data !== null) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelcolumnname: data.label,\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowValueType(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setValueType(data);\r\n }\r\n // setValueType(data);\r\n }\r\n function onChangeDropdowInformition(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setInformition({ ...data });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelInformition: data.Informition.replaceAll(\" \", \"\"),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n if (key === \"RoleID\") {\r\n let _arrayRole: any = [];\r\n let _arrayRoleName: any = [];\r\n let _arrayRolePermission: any = [];\r\n data.map((_dataRole: any) => {\r\n _arrayRole.push({\r\n id: _dataRole.RoleId.toString(),\r\n name: _dataRole.NameEn,\r\n });\r\n _arrayRoleName.push(_dataRole.NameEn);\r\n });\r\n setRoleName(_arrayRoleName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayRole,\r\n }));\r\n setRole(data);\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: false,\r\n }));\r\n }\r\n }\r\n function _Company(data: any, key: any) {\r\n let _arrayCompany: any = [];\r\n data.map((_dataCompany: any) => {\r\n _arrayCompany.push({\r\n id: _dataCompany.CompanyId.toString(),\r\n name: _dataCompany.NameEn,\r\n });\r\n });\r\n setCompany(data);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n company: _arrayCompany,\r\n }));\r\n }\r\n function _department(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n\r\n data.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n setValidation({\r\n CompanyValidation: false,\r\n });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n setDepartmentName(_arrayDepartmentName);\r\n setDepartment(data);\r\n\r\n // setCompany(data);\r\n }\r\n\r\n function getPermissionTypeOptions(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n props.departmentListProps.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n\r\n function _Action(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>permissionType\", permissionType);\r\n\r\n setCompanyAction(data);\r\n department.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name:\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn,\r\n action: data === undefined || data === null ? \"\" : data.Position,\r\n });\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn + \" | \" + data.Position\r\n );\r\n });\r\n\r\n setDepartmentName(_arrayDepartmentName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n Permission: {\r\n ...permissionType.Permission,\r\n [key]: data === true ? \"T\" : \"F\",\r\n },\r\n }));\r\n }\r\n const InformationValue = [\r\n { Informition: \"EmployeeCode\" },\r\n { Informition: \"EmployeeName\" },\r\n { Informition: \"EmployeePosition\" },\r\n { Informition: \"EmployeeDivision\" },\r\n { Informition: \"EmployeeDepartment\" },\r\n ];\r\n return (\r\n <>\r\n {\r\n // onHide()\r\n }}\r\n onClick={() => console.log(\"informition\", informition)}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n {\r\n console.log(\"per=>\", { informition });\r\n }}\r\n >\r\n \r\n \r\n

\r\n Add Permission\r\n

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

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {permissionType?.permissiontype === \"Role\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.RoleValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {advanceFormLabalSelect !== undefined &&\r\n advanceFormLabalSelect !== null ? (\r\n Object.keys(advanceFormLabalSelect).length !== 0 ? (\r\n advanceFormLabalSelect.column !== undefined &&\r\n advanceFormLabalSelect.column !== null ? (\r\n advanceFormLabalSelect.column.length !== 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* {\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>informition\", informition);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\r\n \"Employee Code\",\r\n \"Employee Name\",\r\n \"Employee Position\",\r\n \"Employee Division\",\r\n \"Employee Department\",\r\n ]}\r\n value={\r\n informition && informition. !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Informition\"}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"Department\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(e.value, \"Company\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.CompanyValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _department(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Department --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.DepartmentValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n {permissionType.ids.length !== 0 && (\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 {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n {(informition.Informition === \"Employee Department\" ||\r\n informition.Informition === \"Employee Division\") && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _newData = permissionType;\r\n _newData.formcontrol.labelaction = data.value;\r\n setPermissionType({ ..._newData });\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\"Above\", \"Below\"]}\r\n value={\r\n permissionType?.formcontrol?.labelaction !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Position\"}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType !== undefined &&\r\n permissionType !== null &&\r\n permissionType.length !== 0 && (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./AuthorizationComponent.css\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport {\r\n AuthorizationDepartmentModel,\r\n AuthorizationPermissionModel,\r\n} from \"./AuthorizationModel/AuthorizationModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n objectDataAuthorizationProps: any;\r\n setIsLoad?: any;\r\n};\r\n\r\nconst AuthorizationComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n // const [roleData, setRoleData] = useState([]);\r\n // const [companyData, setCompanyData] = useState([]);\r\n // const [departmentData, setDepartmentData] = useState([]);:\r\n const [visibleModel, setVisibleModel] = useState(false);\r\n const [visiblePermissionModel, setVisiblePermissionModel] =\r\n useState(false);\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [roleManage, setRoleManage] = useState();\r\n const [companyManage, setCompanyManage] = useState();\r\n const [companyRequest, setCompanyRequest] = useState();\r\n const [roleManageId, setRoleManageId] = useState();\r\n const [roleRequest, setRoleRequest] = useState();\r\n const [roleRequestId, setRoleRequestId] = useState();\r\n const [departmentManage, setDepartmentManage] = useState([]);\r\n const [departmentCompanyManage, setDepartmentCompanyManage] = useState(\r\n []\r\n );\r\n const [departmentCompanyRequest, setDepartmentCompanyRequest] = useState(\r\n []\r\n );\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [departmentRequest, setDepartmentRequest] = useState([]);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState(\r\n props.objectDataAuthorizationProps.Employee\r\n );\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [employeeSelect, setEmployeeSelect] = useState([]);\r\n const [permissionTable, setPermissionTable] = useState([]);\r\n const [Authorization_view, setAuthorization_view] = useState([]);\r\n const [keyAuthorization_view, setKeyAuthorization_view] = useState(\"\");\r\n const [manageCompanyJSON, setManageCompanyJSON] = useState([]);\r\n const [editTablePermission, setEditTablePermission] = useState([]);\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n useEffect(() => {\r\n console.log(\"permissionTable\", permissionTable);\r\n }, [permissionTable]);\r\n\r\n useEffect(() => {\r\n if (props.controlModel !== undefined) {\r\n _DepartmentGetJson(props.controlModel);\r\n }\r\n if (props.controlModel === undefined || props.controlModel === null) {\r\n } else {\r\n if (props.actionProps === \"edit\") {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0 ||\r\n Object.keys(props.controlModel.Authorization_view).length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n if (_dataJson.length !== 0) {\r\n let _arrayRoleTable: any = [];\r\n _dataJson.map((data: any) => {\r\n let _arrayRolePermission: any = [];\r\n if (Object.keys(data).length !== 0) {\r\n if (data.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (data.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (data.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (data.permissiontype === \"Role\") {\r\n let _arrayRoleName: any = [];\r\n data.ids.map((_dataRole: any) => {\r\n _arrayRoleName.push(_dataRole.name);\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayRoleName.length === 0\r\n ? \"\"\r\n : _arrayRoleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n if (data.permissiontype === \"Department\") {\r\n let _arrayDepartmentName: any = [];\r\n\r\n data.ids.map((_department: any) => {\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.name\r\n : _department.name + \" | \" + _department.action\r\n );\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayDepartmentName.length === 0\r\n ? \"\"\r\n : _arrayDepartmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n\r\n if (data.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n console.log(\r\n \"data.formcontroldata.formcontrol\",\r\n data.formcontrol\r\n );\r\n\r\n if (data.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" columnname:\" +\r\n data.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n _arrayRoleTable.push(_objTable);\r\n\r\n // props.setDataAuthorization_view(permissionType, props.keyAutoComplete);\r\n // props.setDataTable(_objTable);\r\n // props.setVisibleProps(props.keyAutoComplete);\r\n // console.log(\"_objTable\", _objTable);\r\n }\r\n if (data.permissiontype === \"Public\") {\r\n let _objTable;\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n }\r\n });\r\n console.log(\"_arrayRoleTable_arrayRoleTable\", _arrayRoleTable);\r\n\r\n setPermissionTable(_arrayRoleTable);\r\n setAuthorization_view(_dataJson);\r\n }\r\n } else {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n setAuthorization_view(_dataJson);\r\n }\r\n }\r\n }, [props.controlModel, props.objectDataAuthorizationProps]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n console.log(\"_dataFilter\", _dataFilter);\r\n\r\n setDepartmentList(_dataFilter);\r\n }\r\n async function _dataTable(data: any) {\r\n if (editTablePermission.length === 0) {\r\n let _array: any = permissionTable;\r\n _array.push(data);\r\n console.log(\"dataaaaaaaaaaaaaaaaaa\", data, _array);\r\n setPermissionTable(_array);\r\n }\r\n }\r\n\r\n async function _dataAuthorization_view(data: any, key: any) {\r\n let _array: any = Authorization_view;\r\n console.log(\"setDataAuthorization_view=>_array\", { _array });\r\n\r\n console.log(\"setDataAuthorization_view\", { data, key });\r\n _array.push(data);\r\n setAuthorization_view(_array);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _array,\r\n }));\r\n }\r\n async function _dataAuthorization_viewEdit(data: any, key: any) {\r\n console.log(\"setDataAuthorization_view\", data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n ...data,\r\n }));\r\n }\r\n\r\n // const fetchRole = async () => {\r\n // const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n // setRoleData([...roles]);\r\n // };\r\n // const fetchCompany = async () => {\r\n // const companies = await dataCompany();\r\n // setCompanyData([...companies]);\r\n // };\r\n // const fetchDepartment = async () => {\r\n // const departments = await GetDepartment();\r\n // setDepartmentData([...departments]);\r\n // };\r\n function _VisibleModel(data: any) {\r\n setKeyAutoComplete(data);\r\n\r\n if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n setEditTablePermission([]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n } else {\r\n setVisibleModel(!visibleModel);\r\n }\r\n }\r\n function _VisibleEditModel(key: any, data: any, inx: any) {\r\n setKeyAutoComplete(key);\r\n\r\n setEditTablePermission(props.controlModel.Authorization_view[inx.rowIndex]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n\r\n // setKeyAutoComplete(data);\r\n // if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n // setVisiblePermissionModel(!visiblePermissionModel);\r\n // } else {\r\n // setVisibleModel(!visibleModel);\r\n // }\r\n }\r\n\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n }\r\n async function onDeleteRow(dataRow: any, option: any) {\r\n let _arrayPush: any = [];\r\n let _arrayPushPermissionTable: any = [];\r\n Authorization_view.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPush.push(data);\r\n }\r\n });\r\n permissionTable.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPushPermissionTable.push(data);\r\n }\r\n });\r\n setAuthorization_view(_arrayPush);\r\n setPermissionTable(_arrayPushPermissionTable);\r\n if (\r\n keyAuthorization_view === undefined ||\r\n keyAuthorization_view === null ||\r\n keyAuthorization_view.length === 0\r\n ) {\r\n } else {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [keyAuthorization_view]: _arrayPush,\r\n }));\r\n }\r\n }\r\n function _GameRoleID(data: any, key: any) {\r\n var _dataRole = data.split(\",\");\r\n let _arrayRole: any = [];\r\n _dataRole.map((dataRole: any) => {\r\n let roleDataFilter = props.objectDataAuthorizationProps.Role.filter(\r\n (_dataFilter: any) => _dataFilter.RoleId.toString() === dataRole\r\n );\r\n\r\n if (roleDataFilter.length !== 0) {\r\n _arrayRole.push(roleDataFilter[0]);\r\n }\r\n });\r\n if (key === \"RoleID\") {\r\n setRoleManage(_arrayRole);\r\n } else {\r\n setRoleRequest(_arrayRole);\r\n }\r\n }\r\n function _DepartmentGetJson(data: any) {\r\n console.log(\"data\", data);\r\n\r\n if (props.actionProps === \"add\") {\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (data.Authorization_manage_department !== null) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _DepartmentData = data.Authorization_manage_department;\r\n\r\n setDepartmentManage(_DepartmentData);\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_arrayManageCompanyDepartment.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n // else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setCompanyRequest(_arrayManageCompany);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n console.log(\"datadatadatadatadata\", data, companyDataFilter);\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n console.log(\"_dataFilterCompany[0]\", _dataFilterCompany);\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111jjjjjjjjj\",\r\n _arrayManageCompanyDepartment,\r\n _arrayManageCompany\r\n );\r\n if (_arrayManageCompany.length !== 0) {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_department !== null &&\r\n data.Authorization_manage_department.length !== 0\r\n ) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_department === undefined ||\r\n data.Authorization_manage_department === null ||\r\n data.Authorization_manage_department.length === 0\r\n ? null\r\n : data.Authorization_manage_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentManage(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n if (\r\n data.Authorization_request_department !== null &&\r\n data.Authorization_request_department.length !== 0\r\n ) {\r\n if (data.Authorization_request_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_department === undefined ||\r\n data.Authorization_request_department === null ||\r\n data.Authorization_request_department.length === 0\r\n ? null\r\n : data.Authorization_request_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentRequest(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentRequest([]);\r\n }\r\n }\r\n // console.log(\"data.templateForm\", data.templateForm);\r\n\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId === undefined ||\r\n data.templateForm.SpecificEmployeeId === null ||\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n }\r\n function _AutoComplete(data: any, key: any) {\r\n let _specificEmployeeId: any = [];\r\n // let _employeeRequest=employeeRequest\r\n\r\n if (key !== \"SpecificEmployeeId\") {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n } else {\r\n let specificEmployeeId = data;\r\n specificEmployeeId.map((data: any) => {\r\n _specificEmployeeId.push(data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n _specificEmployeeId.length === 0\r\n ? \"\"\r\n : _specificEmployeeId.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n let _RoleIdManage: any = [];\r\n let _RoleIdRequest: any = [];\r\n if (key === \"RoleID\") {\r\n let _roleIdManage = data;\r\n _roleIdManage.map((data: any) => {\r\n _RoleIdManage.push(data.RoleId);\r\n });\r\n\r\n setRoleManage(data);\r\n }\r\n if (key === \"SpecificRoleID\") {\r\n let _roleIdRequest = data;\r\n _roleIdRequest.map((data: any) => {\r\n _RoleIdRequest.push(data.RoleId);\r\n });\r\n setRoleRequest(data);\r\n }\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n key === \"RoleID\"\r\n ? _RoleIdManage.toString()\r\n : _RoleIdRequest.toString(),\r\n },\r\n }));\r\n }\r\n function _Company(data: any, key: any) {\r\n let _CompanyManage: any = [];\r\n let _CompanyRequest: any = [];\r\n if (\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ) {\r\n let _companyManage = data;\r\n _companyManage.map((data: any) => {\r\n _CompanyManage.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n\r\n setCompanyManage(data);\r\n // for (let i = 0; i < _companyManage.length; i++) {\r\n\r\n // // props.objectDataAuthorizationProps.Department\r\n // let _dataFilterDepartment= props.objectDataAuthorizationProps.Department.filter((item:any)=> item.CompanyCode ===_companyManage[i].CompanyCode)\r\n // if(_dataFilterDepartment.length!==0){\r\n\r\n // }\r\n // }\r\n // console.log(\"_companyManage\", _companyManage);\r\n\r\n // setCompanyManageDepartment(data);\r\n }\r\n if (\r\n key === \"Authorization_request_company\" ||\r\n key === \"Authorization_request_company\"\r\n ) {\r\n let _companyRequest = data;\r\n _companyRequest.map((data: any) => {\r\n _CompanyRequest.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n setCompanyRequest(data);\r\n // setCompanyRequestDepartment(data);\r\n }\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]:\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ? _CompanyManage\r\n : _CompanyRequest,\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n Authorization for Manage\r\n

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_company\"\r\n : \"Authorization_manage_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\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 _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_department\"\r\n : \"Authorization_manage_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentManage.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Authorization for Request\r\n

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n showModal(\"SpecificEmployeeId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined || employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"SpecificRoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_company\"\r\n : \"Authorization_request_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n filter\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\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 _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_department\"\r\n : \"Authorization_request_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentRequest.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Authorization for View\r\n

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n console.log(\r\n \"Authorization for View,Authorization for View\",\r\n permissionTable\r\n )\r\n }\r\n >\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\"\r\n )\r\n }\r\n setLabelProps={\"Add Permission\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {}}\r\n // selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n // setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\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 body={(rowData: any, inx: any) => (\r\n {\r\n _VisibleEditModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\",\r\n rowData,\r\n inx\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n 1 ||\r\n departmentCompanyManage.length !== 0\r\n ? departmentCompanyManage\r\n : props.objectDataAuthorizationProps.Department\r\n : keyAutoComplete === \"Authorization_request_department\"\r\n ? props.controlModel?.Authorization_request_company?.length > 1 ||\r\n departmentCompanyRequest.length !== 0\r\n ? departmentCompanyRequest\r\n : props.objectDataAuthorizationProps.Department\r\n : props.objectDataAuthorizationProps.Department\r\n }\r\n setVisibleProps={_VisibleModel}\r\n setControlModel={props.setControlModel}\r\n keyProps={keyAutoComplete}\r\n departmentRequestProp={departmentRequest}\r\n departmentManageProp={departmentManage}\r\n />\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AuthorizationComponent;\r\n","import moment from \"moment\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { sorterFunc } from \"../../../../Helper/SortingFunction\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ntype Props = {\r\n dataProps?: any;\r\n setDataProps?: any;\r\n versionCheckProps?: any;\r\n};\r\n\r\nexport const VersionAndHistoryTable = (props: Props) => {\r\n useEffect(() => {\r\n if (props.dataProps) {\r\n props.dataProps.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, \"ModifiedDate\", \"dec\");\r\n });\r\n }\r\n }, [props.dataProps]);\r\n async function previewVersionTemplate(\r\n documentCode: string,\r\n rowIndex: number\r\n ) {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n rowIndex + 1\r\n }&Version`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n\r\n // window.open(\r\n // `${baseUrl}/Request?MemoID=0&TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n // rowIndex + 1\r\n // }&Version`,\r\n // \"_blank\"\r\n // );\r\n }\r\n const actionBodyTemplate = (rowData: any) => {\r\n let someDateString = moment(rowData.ModifiedDate, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy HH:mm:ss\");\r\n return NewDate;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n }\r\n headerStyle={{ width: \"3em\" }}\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {options.rowIndex + 1}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.ModifiedByName}\r\n \r\n );\r\n }}\r\n >\r\n\r\n \r\n }\r\n // headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n
\r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { VersionAndHistoryTable } from \"./VersionAndHistoryTable/VersionAndHistoryTable\";\r\n\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n setVersionCheckProps?: any;\r\n VersionCheckProps?: any;\r\n VersionDataProps?: any;\r\n SetVersionDataProps: any;\r\n VersionTempVCProps?: any;\r\n version?: any;\r\n templateListVersionHistoryProps?: any;\r\n ObjectDataAuthorizationProps?: any;\r\n};\r\n\r\nconst VersionAndHistoryComponents = (props: Props) => {\r\n useEffect(() => {\r\n console.log(\r\n \"props.templateListVersionHistoryPropsprops.templateListVersionHistoryProps\",\r\n props.templateListVersionHistoryProps,\r\n props.VersionTempVCProps\r\n );\r\n\r\n for (let i = 0; i < props.templateListVersionHistoryProps.length; i++) {\r\n console.log(\r\n \"props.templateListVersionHistoryProps[i]\",\r\n props.templateListVersionHistoryProps[i],\r\n props.ObjectDataAuthorizationProps\r\n );\r\n\r\n let _dataFilter = props.ObjectDataAuthorizationProps.filter(\r\n (item: any) =>\r\n Number(props.templateListVersionHistoryProps[i].ModifiedBy) ===\r\n item.EmployeeId\r\n );\r\n if (_dataFilter.length !== 0) {\r\n props.templateListVersionHistoryProps[i].ModifiedByName =\r\n _dataFilter[0].NameEn;\r\n console.log(\"_dataFilter_dataFilter_dataFilter\", _dataFilter);\r\n } else {\r\n console.log(\"_dataFilter_dataFilter_dataFilter0\", _dataFilter);\r\n }\r\n }\r\n }, [\r\n props.ObjectDataAuthorizationProps,\r\n props.templateListVersionHistoryProps,\r\n ]);\r\n // useEffect(() => {\r\n // console.log(\"props.VersionDataProps.value2\", props.VersionDataProps.value2);\r\n // }, [props.VersionDataProps.value2]);\r\n useEffect(() => {\r\n console.log(\"controlModelVersionDataProps\", props.VersionDataProps);\r\n console.log(\"controlModelVersionTempVCProps\", props.VersionTempVCProps);\r\n console.log(\"controlModelversion\", props.version);\r\n if (\r\n props.VersionDataProps.masterId !== undefined &&\r\n props.VersionDataProps.masterId !== null &&\r\n props.VersionDataProps.masterId.length !== 0\r\n ) {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n // props.SetVersionDataProps((prevState: any) => ({\r\n // ...prevState,\r\n // ...props.VersionDataProps,\r\n // }));\r\n }\r\n } else {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n let value2 = props.version.value2.split(\"|\");\r\n\r\n if (\r\n props.VersionDataProps.value2 === undefined ||\r\n props.VersionDataProps.value2 === null ||\r\n props.VersionDataProps.value2.length === 0 ||\r\n props.VersionDataProps.value3 === undefined ||\r\n props.VersionDataProps.value3 === null ||\r\n props.VersionDataProps.value3.length === 0 ||\r\n props.VersionDataProps.value5 === undefined ||\r\n props.VersionDataProps.value5 === null ||\r\n props.VersionDataProps.value5.length === 0\r\n ) {\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n value3: \"Editing\",\r\n value5:\r\n props.VersionDataProps.value5 !== undefined &&\r\n props.VersionDataProps.value5 !== null &&\r\n props.VersionDataProps.value5.length !== 0\r\n ? props.VersionDataProps.value5\r\n : value2[1],\r\n }));\r\n }\r\n }\r\n }\r\n }, [props.VersionDataProps]);\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setVersionCheckProps(data);\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n [key]: data.toString(),\r\n }));\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Version and History\r\n

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

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {props.VersionCheckProps && props.VersionDataProps.masterId !== \"\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VersionAndHistoryComponents;\r\n","export const dataCompany = async () => {\r\n const respone = await fetch(\"/api/MasterCompany/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return (respone || []).filter((e: any) => e.IsActive === true);\r\n};\r\nexport const AddCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/AddCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UpdateCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/UpdateCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\ntype Props = {\r\n visible: boolean;\r\n setVisible: (value: boolean) => void;\r\n header: string;\r\n refTemplateList: any[];\r\n rowSelectedData: any;\r\n onSaveObjTable: (Key: string, objTable: any) => void;\r\n};\r\n\r\nconst TableTemplateDialogComponentsFixed: React.FC = ({\r\n header,\r\n setVisible,\r\n visible,\r\n refTemplateList,\r\n rowSelectedData,\r\n onSaveObjTable,\r\n ...props\r\n}) => {\r\n const [objectTable, setObjectTable] = useState([]);\r\n\r\n const onShow = () => {\r\n console.log(\"ref=>rowSelectedData.objTable\", rowSelectedData);\r\n\r\n if (rowSelectedData?.objTable && rowSelectedData?.objTable.length !== 0) {\r\n setObjectTable([...rowSelectedData.objTable]);\r\n } else {\r\n let _objTable: any[] = [];\r\n rowSelectedData.column.forEach((e: any) => {\r\n _objTable.push({\r\n Key: e.control.template.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n });\r\n setObjectTable([..._objTable]);\r\n }\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n function actionBodyTemplate(rowData: any, option: any) {\r\n let options: any[] = [];\r\n\r\n let advanceForm: any = null;\r\n\r\n refTemplateList?.map((temp: any) => {\r\n if (\r\n temp.DocumentCode ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[0]\r\n ) {\r\n advanceForm = JSON.parse(temp.AdvanceForm);\r\n }\r\n });\r\n if (advanceForm) {\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type === \"tb\" &&\r\n _layout.template.label ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[1]\r\n ) {\r\n _layout.template.attribute.column.forEach((e: any) => {\r\n options.push({\r\n Key: rowData.Key,\r\n Template: null,\r\n Value: e.control.template.label,\r\n TypeControl: convertType(e.control.template.type),\r\n objTable: [],\r\n });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n let _newObj = objectTable;\r\n _newObj = _newObj.map((obj: any) => {\r\n if (e.value) {\r\n if (obj.Key === e.value.Key) {\r\n obj = e.value;\r\n }\r\n } else if (rowData.Key === obj.Key) {\r\n obj.Value = null;\r\n }\r\n return obj;\r\n });\r\n\r\n setObjectTable([..._newObj]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n \r\n );\r\n }\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => {\r\n onSaveObjTable(header, objectTable);\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const hide = () => {\r\n setVisible(false);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableTemplateDialogComponentsFixed;\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport { AutoComplete } from \"antd\";\r\nimport TableTemplateDialogComponentsFixed from \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { IMasterDataModel } from \"../../../IRequestModel/IMasterDataModel\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n} from \"../../../Services/TemplateService\";\r\n\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n templateList: any[];\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n};\r\nconst ReferenceDocumentDialogFix: React.FC = ({\r\n listRefTemplateProps,\r\n templateList,\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n ...props\r\n}) => {\r\n const [referenceDocumentDialogObject, setReferenceDocumentDialogObject] =\r\n useState({\r\n RefDocDisplay: \"\",\r\n Display: { Position: \"Top\" },\r\n Mode: { Mode: \"Single\" },\r\n Affiliation: false,\r\n Quarter: false,\r\n ReferenceAttachment: false,\r\n IsDefaultLineApprove: false,\r\n DocControl: false,\r\n selectField: { selectField: \"\" },\r\n templateForm: [],\r\n tableDialog: false,\r\n listRefTemplate: [],\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: [],\r\n TemplateEditDoc: [],\r\n TemplateCancelDoc: [],\r\n SaveDataTable: [],\r\n });\r\n const [searchTemplateList, setSearchTemplateList] = useState([]);\r\n const [selectField, setSelectField] = useState([]);\r\n const [tableRefDialog, setTableRefDialog] = useState(false);\r\n const [tableRefData, setTableRefData] = useState();\r\n const [tableRefDialogHeader, setTableRefDialogHeader] = useState(\"\");\r\n const [templateAddCodeMulti, setTemplateAddCodeMulti] = useState([]);\r\n const [selectFieldtoshow, setSelectFieldtoshow] = useState([]);\r\n const [listMasterData, setListMasterData] = useState();\r\n const [refAd, setRefAd] = useState();\r\n const onShowDialog = async () => {\r\n try {\r\n setSearchTemplateList([...templateList]);\r\n await templateAddCode();\r\n if (controlModel) {\r\n const docControl: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = _IsDocControl(controlModel);\r\n const templateForm = controlModel.templateForm;\r\n const mappingLstMaster = _IsDocControl(controlModel);\r\n setListMasterData(mappingLstMaster);\r\n console.log(\"ref=>templateForm\", templateForm);\r\n\r\n let display: string[] = templateForm?.RefDocDisplay?.split(\",\");\r\n\r\n const defaultRefModel = {\r\n RefDocDisplay: templateForm.RefDocDisplay,\r\n Display:\r\n display[0] === \"Top\"\r\n ? { Position: \"Top\" }\r\n : display[0] === \"Bottom\"\r\n ? { Position: \"Bottom\" }\r\n : { Position: \"Top\" },\r\n Mode:\r\n display[1] === \"Single\"\r\n ? { Mode: \"Single\" }\r\n : display[1] === \"Multiselect\"\r\n ? { Mode: \"Multiselect\" }\r\n : { Mode: \"Single\" },\r\n ReferenceAttachment: display[5] === \"Yes\",\r\n Affiliation: display[3] === \"Yes\",\r\n Quarter: display[4] === \"Yes\",\r\n IsDefaultLineApprove:\r\n listRefTemplateProps[0]?.IsDefaultLineApprove || false,\r\n DocControl: docControl.isDocControl,\r\n selectField: { selectField: display[2] },\r\n templateForm: [],\r\n listRefTemplate: listRefTemplateProps,\r\n tableDialog: false,\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: docControl.D_NewTpl,\r\n TemplateEditDoc: docControl.D_EditTpl,\r\n TemplateCancelDoc: docControl.D_CanTpl,\r\n SaveDataTable: [],\r\n };\r\n dynamicSelect(templateForm);\r\n\r\n setReferenceDocumentDialogObject({ ...defaultRefModel });\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n\r\n function _IsDocControl(_dataTemplate: any) {\r\n let _lstMasterData = _dataTemplate.lstMasterData;\r\n\r\n let res: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = {\r\n isDocControl: false,\r\n D_NewTpl: [],\r\n D_EditTpl: [],\r\n D_CanTpl: [],\r\n };\r\n if (_lstMasterData) {\r\n if (_lstMasterData?.length !== 0) {\r\n res.isDocControl = true;\r\n const _lstMasterDataSplitD_NewTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_NewTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_EditTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_EditTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_CanTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_CanTpl\")\r\n ?.value2.split(\",\");\r\n\r\n _lstMasterDataSplitD_NewTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() == data) {\r\n res.D_NewTpl.push(_data);\r\n }\r\n });\r\n });\r\n\r\n _lstMasterDataSplitD_EditTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_EditTpl.push(_data);\r\n }\r\n });\r\n });\r\n _lstMasterDataSplitD_CanTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_CanTpl.push(_data);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n // const searchTemplate = (event: any) => {\r\n // // let filteredCountries = //suggestions\r\n // // setFilteredCountries(filteredCountries);\r\n // };\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const dynamicSelect = (templateForm: any) => {\r\n let seltectItems: any[] = [];\r\n try {\r\n if (\r\n templateForm.RefDocColumn &&\r\n templateForm.RefDocColumn !== \"\" &&\r\n templateForm.RefDocColumn !== \"[]\"\r\n ) {\r\n const _RefDocColumn = JSON.parse(templateForm.RefDocColumn);\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n console.log(\"ref=>advanceForm\", advanceForm);\r\n\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n let selectedCol: any = null;\r\n const _column = _RefDocColumn?.find(\r\n (refColumn: any) => refColumn.Key === _layout.template.label\r\n );\r\n\r\n if (_column) {\r\n if (_layout.template.type === \"tb\") {\r\n const objs = _column.objTable;\r\n selectedCol = _column;\r\n\r\n selectedCol.column = _layout.template.attribute.column;\r\n let newOBJ: any[] = [];\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n const selectedOBJ = objs.find(\r\n (obj: any) => obj.Key === col.label\r\n );\r\n if (selectedOBJ) {\r\n newOBJ.push(selectedOBJ);\r\n } else {\r\n newOBJ.push({\r\n Key: col.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n }\r\n });\r\n selectedCol.objTable = newOBJ;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n } else {\r\n selectedCol = _column;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n }\r\n } else {\r\n if (_layout.template.type === \"tb\") {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n Value: \"\",\r\n };\r\n } else {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n Value: \"\",\r\n };\r\n }\r\n }\r\n\r\n if (\r\n _layout.template.type !== \"em\" ||\r\n _layout.template.type === \"l\"\r\n ) {\r\n seltectItems.push(selectedCol);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n if (_layout.template.type === \"tb\") {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n Template: null,\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n });\r\n } else {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n selectedValue: null,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n setSelectField([...seltectItems]);\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let options: any[] = [\r\n {\r\n selectedValue: \"_\" + \"DocumentNo\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"DocumentAmount\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePosition\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartment\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationFormName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationRequestDate\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationCompany\",\r\n type: \"system\",\r\n },\r\n ];\r\n referenceDocumentDialogObject?.listRefTemplate?.map((temp: any) => {\r\n const _refTemp = templateList.find(\r\n (e) => e.TemplateId === temp.TemplateId\r\n );\r\n if (_refTemp) {\r\n const advanceForm = JSON.parse(_refTemp.AdvanceForm);\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n !rowData.column &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\" &&\r\n _layout.template.type !== \"tb\"\r\n ) {\r\n options.push({\r\n selectedValue: temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n } else if (rowData.column) {\r\n if (_layout.template.type === \"tb\") {\r\n options.push({\r\n selectedValue:\r\n temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n if (rowData.column) {\r\n options = options.filter((e) => e.type !== \"system\");\r\n }\r\n return (\r\n {\r\n let _selectField = selectField;\r\n _selectField.map((field: any) => {\r\n if (field.Key === rowData.Key) {\r\n field.selectedValue = e.value;\r\n }\r\n });\r\n setSelectField([..._selectField]);\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n );\r\n };\r\n\r\n function _ReferenceDocumentDialog(data: any, key: any) {\r\n let _Object: any = referenceDocumentDialogObject;\r\n\r\n _Object[key] = data === null || data === undefined ? _Object[key] : data;\r\n setReferenceDocumentDialogObject((prevState: any) => ({\r\n ...prevState,\r\n ..._Object,\r\n }));\r\n\r\n if (key === \"TemplateNewDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_NewTpl: data,\r\n }));\r\n } else if (key === \"TemplateEditDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_EditTpl: data,\r\n }));\r\n } else if (key === \"TemplateCancelDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_CanTpl: data,\r\n }));\r\n } else if (key === \"DocControl\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n isDocControl: data,\r\n }));\r\n }\r\n }\r\n\r\n const getOptions = () => {\r\n let _list: any[] = [];\r\n templateList.forEach((e: any) => {\r\n _list.push({ value: e.DocumentCode + \"_\" + e.TemplateName });\r\n });\r\n return _list;\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let _result: any[] = [];\r\n selectField.map((e: any) => {\r\n if (e.selectedValue) {\r\n if (e.selectedValue?.type === \"Table\") {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n column: e.column,\r\n objTable: e.objTable,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n } else {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n }\r\n }\r\n });\r\n const _controlModel = controlModel;\r\n let display: string[] =\r\n _controlModel?.templateForm.RefDocDisplay?.split(\",\");\r\n display[0] = referenceDocumentDialogObject.Display.Position;\r\n display[1] = referenceDocumentDialogObject.Mode.Mode;\r\n display[2] = referenceDocumentDialogObject.selectField.selectField;\r\n display[3] = referenceDocumentDialogObject.Affiliation ? \"Yes\" : \"No\";\r\n display[4] = referenceDocumentDialogObject.Quarter ? \"Yes\" : \"No\";\r\n display[5] = referenceDocumentDialogObject.ReferenceAttachment\r\n ? \"Yes\"\r\n : \"No\";\r\n let RefTemplate: any[] = [];\r\n referenceDocumentDialogObject.listRefTemplate.map((e: any) => {\r\n RefTemplate.push({\r\n TemplateId: e.TemplateId,\r\n DocumentCode: e.DocumentCode,\r\n TemplateName: e.TemplateName,\r\n TemplateSubject: e.TemplateSubject,\r\n IsDefaultLineApprove:\r\n referenceDocumentDialogObject.IsDefaultLineApprove,\r\n AdvanceForm: e.AdvanceForm,\r\n });\r\n });\r\n\r\n const lstMastData = lstMastDataFunction(\r\n _controlModel.templateForm.TemplateId,\r\n _controlModel.lstMasterData\r\n );\r\n console.log(lstMastData, \"controlModel_lstMastData\");\r\n\r\n _controlModel.lstMasterData = lstMastData;\r\n _controlModel.templateForm.RefDocDisplay = display.join(\",\");\r\n _controlModel.templateForm.RefDocColumn = JSON.stringify(_result);\r\n _controlModel.templateForm.RefTemplate = JSON.stringify(RefTemplate);\r\n _controlModel.listRefTemplate = RefTemplate;\r\n console.log(\"ref=>listRefTemplate=>error\", _controlModel);\r\n setControlModelObj({ ..._controlModel });\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n } catch (error) {\r\n console.log(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n function lstMastDataFunction(templateId: number, _lstMasterData: any) {\r\n const _list = listMasterData;\r\n let array: any[] = [];\r\n console.log(_list, \"controlModel66999\");\r\n\r\n if (_list.isDocControl) {\r\n let newTplId;\r\n let editTplId;\r\n let canTplId;\r\n for (let i = 0; i < _lstMasterData.length; i++) {\r\n const element = _lstMasterData[i];\r\n if (element.masterType === \"D_NewTpl\") {\r\n newTplId = element.masterId;\r\n } else if (element.masterType === \"D_EditTpl\") {\r\n editTplId = element.masterId;\r\n } else if (element.masterType === \"D_CanTpl\") {\r\n canTplId = element.masterId;\r\n }\r\n }\r\n var requestModelD_NewTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: newTplId || null,\r\n masterType: \"D_NewTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_NewTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_NewTpl);\r\n var requestModelD_EditTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: editTplId || null,\r\n masterType: \"D_EditTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_EditTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_EditTpl);\r\n var requestModelD_CanTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: canTplId || null,\r\n masterType: \"D_CanTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_CanTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_CanTpl);\r\n }\r\n return array;\r\n }\r\n function actionBodyTemplateTable(rowData: any, option: any) {\r\n if (rowData?.selectedValue?.type === \"Table\") {\r\n return (\r\n <>\r\n {\r\n setTableRefData({ ...rowData });\r\n setTableRefDialogHeader(rowData.Key);\r\n setTableRefDialog(true);\r\n // props.setValueTableProps(\r\n // !props.tableDialog,\r\n // props.keyTableDialog\r\n // );\r\n // console.log(\"rowData\", rowData);\r\n // props.setValueTableProps(rowData, \"rowDataTable\");\r\n // props.setValueTableProps(\r\n // refTemplate === undefined || refTemplate === null\r\n // ? \"\"\r\n // : refTemplate.length === 0\r\n // ? null\r\n // : refTemplate[0].TemplateNameWithCode,\r\n // \"ReferenceForm\"\r\n // );\r\n }}\r\n >\r\n {rowData.Key}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

{rowData.Key}

\r\n \r\n );\r\n }\r\n }\r\n\r\n const onTableDialogSave = (Key: string, objTable: any) => {\r\n tableRefData.objTable = objTable;\r\n let _selectField = selectField;\r\n _selectField = _selectField.map((e: any) => {\r\n if (e.Key === Key) {\r\n e.objTable = objTable;\r\n }\r\n return e;\r\n });\r\n setSelectField([..._selectField]);\r\n setTableRefDialog(false);\r\n };\r\n\r\n function templateAddCode() {\r\n let _dataTemplate: any[] = templateList;\r\n _dataTemplate.map((_dataMap: any, inx: any) => {\r\n _dataMap[\"code\"] = _dataMap.TemplateId.toString();\r\n _dataMap[\"TemplateNameWithCodeMulti\"] =\r\n _dataMap.TemplateId.toString() + \": \" + _dataMap.TemplateName;\r\n });\r\n setTemplateAddCodeMulti([..._dataTemplate]);\r\n }\r\n\r\n useEffect(() => {\r\n _MapSelectTable(referenceDocumentDialogObject.listRefTemplate);\r\n }, [referenceDocumentDialogObject]);\r\n async function _MapSelectTable(_data: any) {\r\n try {\r\n console.log(\"ref=>\", referenceDocumentDialogObject);\r\n let _arraySelect: any = [];\r\n\r\n let _referenceDocumentDialogObject =\r\n referenceDocumentDialogObject.listRefTemplate === undefined ||\r\n referenceDocumentDialogObject.listRefTemplate === null\r\n ? []\r\n : referenceDocumentDialogObject.listRefTemplate;\r\n if (\r\n _referenceDocumentDialogObject !== undefined &&\r\n _referenceDocumentDialogObject !== null &&\r\n _referenceDocumentDialogObject.length !== 0\r\n ) {\r\n _data.map((data: any, inx: any) => {\r\n let _items =\r\n data.AdvanceForm !== undefined\r\n ? data.AdvanceForm !== null\r\n ? data.AdvanceForm.length !== 0\r\n ? JSON.parse(data.AdvanceForm)\r\n : []\r\n : []\r\n : [];\r\n console.log(\"ref=>222\", _items);\r\n if (\r\n _items.items !== undefined &&\r\n _items.items !== null &&\r\n _items.items.length !== 0\r\n ) {\r\n _items.items.map((data: any, inx: any) => {\r\n _arraySelect.push(data);\r\n });\r\n }\r\n });\r\n } else {\r\n _arraySelect = [];\r\n referenceDocumentDialogObject.selectField.selectField = undefined;\r\n }\r\n if (_arraySelect.length !== 0) {\r\n _MapSelectTableItem(_arraySelect);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n async function _MapSelectTableItem(_data: any) {\r\n try {\r\n let _dataItem = _data;\r\n let _arraylayout: any = [];\r\n _dataItem.map((data: any, inx: any) => {\r\n let layout = data.layout;\r\n\r\n for (let i = 0; i < layout.length; i++) {\r\n const element = layout[i].template;\r\n if (\r\n (element.istext !== \"Y\" && element.type === \"t\") ||\r\n (element.istext !== \"Y\" && element.type === \"dd\") ||\r\n (element.istext !== \"Y\" && element.type === \"cb\") ||\r\n (element.istext !== \"Y\" && element.type === \"ta\") ||\r\n (element.istext !== \"Y\" && element.type === \"c\") ||\r\n (element.istext !== \"Y\" && element.type === \"d\") ||\r\n (element.istext !== \"Y\" && element.type === \"an\") ||\r\n (element.istext !== \"Y\" && element.type === \"ed\")\r\n ) {\r\n _arraylayout.push({ selectField: element.label });\r\n }\r\n }\r\n });\r\n\r\n _arraylayout.push({ selectField: \"Information DocumentNo\" });\r\n setSelectFieldtoshow([..._arraylayout]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Display\");\r\n }}\r\n options={[{ Position: \"Top\" }, { Position: \"Bottom\" }]}\r\n optionLabel={\"Position\"}\r\n />\r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Mode\");\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n {referenceDocumentDialogObject.DocControl && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"TemplateNewDoc\");\r\n }}\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateNewDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateEditDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateEditDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n _ReferenceDocumentDialog(e.value, \"TemplateCancelDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateCancelDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\r\n : undefined,\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n // option?.DocumentCode?.toString()\r\n // .toUpperCase()\r\n // .indexOf(inputValue.toUpperCase()) !== -1\r\n option.value\r\n .toLowerCase()\r\n .includes(inputValue.toLowerCase())\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e.split(\"_\")[0];\r\n setSearchTemplateList([\r\n ...templateList.filter(\r\n (template: any) =>\r\n template.DocumentCode.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateSubject.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateName.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n )\r\n ),\r\n ]);\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n // onBlur={(e: any) => {\r\n // try {\r\n // let value = e.target.value;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n // }}\r\n // onSelect={(e: any) => {\r\n // try {\r\n // let value = e;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n allowClear\r\n // }}\r\n />\r\n
\r\n \r\n {/*
\r\n */}\r\n \r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate = e.value;\r\n _MapSelectTable(listRefTemplate.listRefTemplate);\r\n setReferenceDocumentDialogObject({ ...listRefTemplate });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Selected Reference Document\r\n

\r\n

\r\n เอกสารอ้างอิงที่เลือก\r\n

\r\n \r\n
\r\n \r\n console.log(\r\n \"ref=>referenceDocumentDialogObject\",\r\n referenceDocumentDialogObject\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 let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate =\r\n listRefTemplate.listRefTemplate.filter(\r\n (e: any) => e.TemplateId !== rowData.TemplateId\r\n );\r\n setReferenceDocumentDialogObject({\r\n ...listRefTemplate,\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _refObject = referenceDocumentDialogObject;\r\n _refObject.selectField = e.value;\r\n console.log(\"ref=>_refObject\", _refObject, selectField);\r\n\r\n setReferenceDocumentDialogObject({ ..._refObject });\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={actionBodyTemplateTable}\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n {/* */}\r\n\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceDocumentDialogFix;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport ReferenceDocumentDialogFix from \"./ReferenceDocumentDialogFix\";\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n};\r\n\r\nexport const ReferenceDocumentComponentsFix = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n const [isLoadTemplate, setIsLoadTemplate] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [mstTemplateList, setMstTemplateList] = useState([]);\r\n\r\n useEffect(() => {\r\n setIsLoadTemplate(true);\r\n fetchTemplate();\r\n fecthRefTemplate();\r\n }, []);\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n let arrayTemplate: any = [];\r\n _dataTemplatee.map((data: any) => {\r\n if (data.IsTextForm !== true) arrayTemplate.push(data);\r\n });\r\n // templateAddCode([...arrayTemplate]);\r\n setMstTemplateList([...arrayTemplate]);\r\n // setFilters([...arrayTemplate]);\r\n setIsLoadTemplate(false);\r\n }\r\n\r\n const fecthRefTemplate = () => {\r\n if (props.listRefTemplateProps.listRefTemplate.length > 0) {\r\n let newRef: any[] = [];\r\n let _listRefTemp = props.listRefTemplateProps;\r\n _listRefTemp.listRefTemplate.map(async (e: any) => {\r\n const ref = await GetTemplateByDocTypeCode({\r\n DocumentCode: e.DocumentCode,\r\n });\r\n if (ref) {\r\n ref.IsDefaultLineApprove = e.IsDefaultLineApprove;\r\n console.log(\"ref=> ref\", ref);\r\n\r\n newRef.push(ref);\r\n }\r\n props.listRefTemplateProps.listRefTemplate = newRef;\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n });\r\n }\r\n };\r\n\r\n // async function ReferenceDocumentObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object[key] = data;\r\n\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n // async function ReferenceDocumentActionObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object.templateForm.RefTemplate = JSON.stringify(data);\r\n // _Object[key] = data;\r\n // if (\r\n // _Object.templateForm.RefTemplate !== undefined &&\r\n // _Object.templateForm.RefTemplate !== null &&\r\n // (_Object.templateForm.RefTemplate.length === 0 ||\r\n // _Object.templateForm.RefTemplate === \"[]\")\r\n // ) {\r\n // _Object.templateForm.RefDocDisplay = \"\";\r\n // _Object.templateForm.RefDocColumn = \"\";\r\n // _Object.templateForm.RefTemplate = \"\";\r\n // }\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onClickAction = async (event: any) => {\r\n let _event: any = event;\r\n const dataFilter = props.listRefTemplateProps.listRefTemplate.filter(\r\n (item: any) => _event !== item\r\n );\r\n const obj = JSON.parse(\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n console.log(\r\n \"Ref\",\r\n obj,\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n const filterRefDocColum = obj.filter(\r\n (value: any) => !value.Value.includes(_event.DocumentCode)\r\n );\r\n console.log(\"filterRefDocColum\", filterRefDocColum);\r\n\r\n console.log(\"_event\", _event);\r\n\r\n props.listRefTemplateProps.templateForm.RefDocColumn =\r\n JSON.stringify(filterRefDocColum);\r\n\r\n props.listRefTemplateProps.listRefTemplate = dataFilter;\r\n props.listRefTemplateProps.templateForm.RefTemplate =\r\n JSON.stringify(dataFilter);\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n };\r\n function actionBodyTemplate(rowData: any) {\r\n return (\r\n <>\r\n onClickAction(rowData)}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Document\r\n

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

\r\n \r\n
\r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n disabledProps={\r\n props?.listRefTemplateProps?.templateForm?.IsTextForm\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport \"./ReferenceInformationComponents.css\";\r\n\r\ntype Props = {\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n listRefInformationProps: any;\r\n setRefInformation: any;\r\n refInformation: any;\r\n refLogic: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\nconst ReferenceInformationDialog: React.FC = ({\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n listRefInformationProps,\r\n refInformation,\r\n setRefInformation,\r\n refLogic,\r\n dataLogic,\r\n setLogicsRefIn,\r\n ...props\r\n}) => {\r\n const [templateSelected, setTemplateSelected] = useState(\"\");\r\n const [requestSelected, setRequestorSelected] = useState(\"\");\r\n const [templateField, setTemplateField] = useState(\"\");\r\n const [requestField, setRequestorField] = useState(\"\");\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n useEffect(() => {\r\n fetchTemplatData();\r\n fetchRequestorData();\r\n }, []);\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n if (\r\n template.type !== \"tb\" &&\r\n template.type !== \"l\" &&\r\n template.type !== \"em\" &&\r\n template.type !== \"bt\" &&\r\n template.type !== \"d\"\r\n ) {\r\n label = template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n async function fetchRequestorData() {\r\n const requestorLabel = [\r\n { label: \"Requestor_Employee_code\", key: \"Requestor_Employee_code\" },\r\n { label: \"Requestor_Name\", key: \"Requestor_Name\" },\r\n { label: \"Requestor_Positon\", key: \"Requestor_Positon\" },\r\n { label: \"Requestor_Division\", key: \"Requestor_Division\" },\r\n { label: \"Requestor_Department\", key: \"Requestor_Department\" },\r\n { label: \"Requestor_Email\", key: \"Requestor_Email\" },\r\n ];\r\n\r\n setRequestorField(requestorLabel);\r\n }\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let refValue;\r\n refValue = {\r\n condition: templateSelected.label,\r\n required: requestSelected.label,\r\n };\r\n\r\n let arrayRef = refInformation ? refInformation : [];\r\n arrayRef.push(refValue);\r\n setRefInformation(arrayRef);\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n setTemplateSelected(\"\");\r\n setRequestorSelected(\"\");\r\n\r\n let TemplateLogic: any[] = [];\r\n\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n });\r\n });\r\n\r\n setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n console.log(controlModel, \"controlModel\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTemplateSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={templateField}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setRequestorSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={requestField}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceInformationDialog;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"./ReferenceInformationComponents.css\";\r\nimport ReferenceInformationDialog from \"./ReferenceInformationDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { ILogicReferenceInformation } from \"../../../IRequestModel/ILogicModel\";\r\n\r\ntype Props = {\r\n listRefInformationProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\n\r\nexport const ReferenceInformation = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n\r\n const [referenceData, setReferenceData] = useState();\r\n const [refLogic, setRefLogic] = useState([]);\r\n\r\n const [refInformation, setRefInformation] = useState();\r\n\r\n useEffect(() => {\r\n if (props.dataLogic) {\r\n let dataValue = [];\r\n for (let i = 0; i < props.dataLogic?.length; i++) {\r\n const logic = props.dataLogic[i];\r\n if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n dataValue.push(jsonValue);\r\n refLogic.push(logic);\r\n }\r\n setReferenceData(dataValue);\r\n setRefLogic(refLogic);\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (referenceData) {\r\n //setReferenceData(props.refInformation);\r\n fecthRefInformation();\r\n }\r\n }, [referenceData]);\r\n const fecthRefInformation = () => {\r\n try {\r\n let TemplateLogic: any[] = [];\r\n let arrayRef = referenceData;\r\n let Logics = [];\r\n // TemplateLogic = Logics;\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.forEach((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n LstCondition: [],\r\n });\r\n });\r\n\r\n props.setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n let TemplateLogic: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n setRefInformation(selected);\r\n\r\n let Logics = props.dataLogic.filter(\r\n (element: any) => element.Logictype !== \"refinfomation\"\r\n );\r\n\r\n Logics.push(...selected);\r\n console.log(\"refInformationcMSTTemplateLogic\", Logics);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n cMSTTemplateLogic: Logics,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Information\r\n

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

\r\n \r\n
\r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n referenceData,\r\n setReferenceData,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\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","import { createContext, ReactNode, useRef, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface PDFEditorProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport interface ILayoutTemplate {\r\n action: string;\r\n label: string;\r\n type: string;\r\n count: number;\r\n layoutType: string;\r\n value: string;\r\n attribute?: IControlProperty;\r\n}\r\n\r\nexport interface IControlProperty {\r\n default: string;\r\n fontSize: number;\r\n isItalic: boolean;\r\n isUnderlined: boolean;\r\n isBold: boolean;\r\n color: string;\r\n hAlign: string;\r\n vAlign: string;\r\n urlLink: string;\r\n fontFamily: \"Arial\";\r\n hideLabel?: boolean;\r\n column?: ILayoutTemplate[];\r\n backgroundSize?: \"contain\" | \"cover\";\r\n}\r\n\r\nexport interface IControlLayout {\r\n i: string;\r\n x: number;\r\n y: number;\r\n w: number;\r\n h: number;\r\n static: boolean;\r\n minW?: number;\r\n minH?: number;\r\n isDraggable?: boolean;\r\n isResizable?: boolean;\r\n moved?: boolean;\r\n type: \"header\" | \"body\" | \"footer\" | \"content\";\r\n template: ILayoutTemplate;\r\n children?: IControlLayout[];\r\n}\r\n\r\nexport interface IPageProperty {\r\n doctype: \"A4\" | \"Letter\" | \"custom\";\r\n isDragingFromOutSide: boolean;\r\n gridSize: number;\r\n padding: number;\r\n dragingType?: \"header\" | \"body\" | \"footer\" | \"content\";\r\n pageAmount: number;\r\n pageSize: { width: number; height: number };\r\n}\r\n\r\nexport interface IPaperLayout {\r\n header: IControlLayout;\r\n body: IControlLayout;\r\n foot: IControlLayout;\r\n}\r\n\r\ninterface IPDFContextType {\r\n paperLayout: IControlLayout[];\r\n pageProperty: IPageProperty;\r\n setPaperLayout: (panelLayout: IControlLayout[]) => void;\r\n addLayout: (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n item: any,\r\n template: ILayoutTemplate\r\n ) => void;\r\n updatePageProperties: (params: Partial) => void;\r\n refHtml: React.MutableRefObject;\r\n selectionBlock?: IControlLayout;\r\n onSelectChange: (template: IControlLayout) => void;\r\n onSelectPropertyChange: (props: IControlProperty) => void;\r\n onDeselected: () => void;\r\n removeSelectedChild: (parent: string) => void;\r\n}\r\n\r\nconst PDFEditorContext = createContext(null);\r\n\r\nconst PDFEditorProvider: React.FC = (props) => {\r\n const [paperLayout, setPaperLayout] = useState([\r\n {\r\n i: \"header\",\r\n x: 0,\r\n y: 0,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"header\",\r\n template: {\r\n label: \"header\",\r\n type: \"header\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n attribute: undefined,\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"body\",\r\n x: 0,\r\n y: 4,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"body\",\r\n template: {\r\n label: \"body\",\r\n type: \"body\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"footer\",\r\n x: 0,\r\n y: 8,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"footer\",\r\n template: {\r\n label: \"footer\",\r\n type: \"footer\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n ]);\r\n\r\n const [pageProperty, setPageProperty] = useState({\r\n doctype: \"A4\",\r\n pageAmount: 1,\r\n gridSize: 15,\r\n padding: 5,\r\n pageSize: { width: 595, height: 842 },\r\n isDragingFromOutSide: false,\r\n });\r\n\r\n const [selectionBlock, setSelectionBlock] = useState();\r\n\r\n const refHtml = useRef(null);\r\n\r\n const addLayout = (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n layout: any,\r\n template: ILayoutTemplate\r\n ) => {\r\n try {\r\n let targetParent: IControlLayout | undefined = paperLayout?.find(\r\n (e) => e.type === parent\r\n );\r\n\r\n if (targetParent) {\r\n let childList = targetParent.children;\r\n layout.i = uuidv4();\r\n layout.w = 4;\r\n layout.h = 1;\r\n\r\n if (template.type === \"tb\") {\r\n layout.w = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n layout.h = 3;\r\n layout.minH = 3;\r\n layout.minW = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n } else if (template.type === \"staticImage\") {\r\n layout.w = 10;\r\n layout.h = 10;\r\n layout.minH = 5;\r\n layout.minW = 5;\r\n }\r\n const tempAttibute = template.attribute;\r\n template.attribute = {\r\n default: tempAttibute?.default || \"\",\r\n fontSize: 14,\r\n fontFamily: \"Arial\",\r\n color: \"#000000\",\r\n isBold: false,\r\n isItalic: false,\r\n isUnderlined: false,\r\n hAlign: \"center\",\r\n vAlign: \"center\",\r\n urlLink: \"\",\r\n hideLabel: false,\r\n column: tempAttibute?.column,\r\n };\r\n\r\n layout.template = template;\r\n\r\n childList?.push(layout);\r\n\r\n onSelectChange(layout);\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (e.type === parent) {\r\n e.children = childList;\r\n }\r\n return e;\r\n })\r\n );\r\n }\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n } catch (error) {\r\n console.error(error);\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n }\r\n };\r\n\r\n const removeSelectedChild = (parent: string) => {\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (parent === parent) {\r\n e.children = e.children?.filter(\r\n (child) => child.i !== selectionBlock?.i\r\n );\r\n }\r\n return e;\r\n })\r\n );\r\n };\r\n\r\n const updatePageProperties = (params: Partial) => {\r\n setPageProperty((prevSettings) => ({\r\n ...prevSettings,\r\n ...params,\r\n }));\r\n };\r\n\r\n const onSelectChange = (template: IControlLayout) => {\r\n setSelectionBlock(template);\r\n };\r\n\r\n const onDeselected = () => {\r\n setSelectionBlock(undefined);\r\n };\r\n\r\n const onSelectPropertyChange = (props: IControlProperty) => {\r\n if (selectionBlock) {\r\n let _selectionBlock: IControlLayout = selectionBlock;\r\n _selectionBlock.template.attribute = props;\r\n const newLayout = paperLayout.map((layout) => {\r\n layout.children = layout.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template = _selectionBlock.template;\r\n }\r\n return child;\r\n });\r\n return layout;\r\n });\r\n if (newLayout) setPaperLayout(newLayout);\r\n setSelectionBlock(_selectionBlock);\r\n }\r\n };\r\n\r\n const onGenHtml = () => {\r\n console.log(paperLayout);\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { PDFEditorProvider, PDFEditorContext };\r\n","import { useContext } from \"react\";\r\nimport { PDFEditorContext } from \"../Context/PDFEditorContext\";\r\n\r\nconst usePDFEditor = () => {\r\n const context = useContext(PDFEditorContext);\r\n if (!context)\r\n throw new Error(\"PDFEditor Context must be use inside PDFEditor Provider\");\r\n return context;\r\n};\r\n\r\nexport default usePDFEditor;\r\n","import { Col } from \"antd\";\r\nimport React, { useRef } from \"react\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\n\r\ntype Props = {\r\n label: string;\r\n type: string;\r\n attribute?: any;\r\n icon: React.ReactNode;\r\n layoutType: \"header\" | \"body\" | \"footer\" | \"content\";\r\n};\r\n\r\nconst PDFCompontButton = ({\r\n label,\r\n type,\r\n icon,\r\n layoutType,\r\n attribute,\r\n}: Props) => {\r\n const count = useRef(1);\r\n const { updatePageProperties } = usePDFEditor();\r\n\r\n return (\r\n {\r\n const dataString = JSON.stringify({\r\n action: \"add\",\r\n label: label,\r\n type: type,\r\n count: count.current,\r\n layoutType: layoutType,\r\n value: \"\",\r\n attribute: attribute,\r\n });\r\n updatePageProperties({\r\n dragingType: layoutType,\r\n isDragingFromOutSide: true,\r\n });\r\n e.dataTransfer.setData(\"application/json\", dataString);\r\n }}\r\n onDragEnd={() => {\r\n count.current += 1;\r\n updatePageProperties({\r\n isDragingFromOutSide: false,\r\n });\r\n }}\r\n >\r\n {icon}\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFCompontButton;\r\n","import { Button, Col, Collapse } from \"antd\";\r\nimport type { CollapseProps } from \"antd\";\r\nimport { MenuItem } from \"primereact/menuitem\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFCompontButton from \"./PDFCompontButton\";\r\nimport CollapsePanel from \"antd/lib/collapse/CollapsePanel\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n reportTem: any[];\r\n};\r\n\r\nfunction getItem(\r\n label: React.ReactNode,\r\n key: React.Key,\r\n icon?: React.ReactNode,\r\n children?: MenuItem[],\r\n type?: \"group\"\r\n): MenuItem {\r\n return {\r\n key,\r\n icon,\r\n children,\r\n label,\r\n type,\r\n } as MenuItem;\r\n}\r\n\r\nconst items: MenuItem[] = [getItem(\"Option 1\", \"1\"), getItem(\"Option 2\", \"2\")];\r\n\r\nconst PDFToolBar = ({ advanceForm, reportTem }: Props) => {\r\n const [controlItem, setControlItems] = useState(advanceForm.items);\r\n\r\n const { addLayout } = usePDFEditor();\r\n\r\n useEffect(() => {\r\n getItems();\r\n }, []);\r\n\r\n const getItems = () => {\r\n let items: any[] = [];\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n items.push(layout);\r\n });\r\n });\r\n\r\n setControlItems((prev: any) => items);\r\n };\r\n\r\n const getIcon = (type: string) => {\r\n switch (type) {\r\n case \"l\":\r\n return ;\r\n case \"ed\":\r\n return ;\r\n case \"c\":\r\n return ;\r\n case \"Number\":\r\n return ;\r\n case \"ta\":\r\n return ;\r\n case \"dd\":\r\n return ;\r\n case \"cb\":\r\n return ;\r\n case \"at\":\r\n return ;\r\n case \"t\":\r\n return ;\r\n case \"Text\":\r\n return ;\r\n case \"r\":\r\n return ;\r\n case \"tb\":\r\n return ;\r\n case \"d\":\r\n return ;\r\n case \"Datetime\":\r\n return ;\r\n case \"bt\":\r\n return ;\r\n case \"an\":\r\n return ;\r\n case \"rvs\":\r\n return ;\r\n case \"im\":\r\n return ;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {controlItem\r\n .filter((e: any) => e.template?.type !== \"em\")\r\n .map((item: any) => (\r\n \r\n ))}\r\n \r\n \r\n {reportTem.map((item: any) => (\r\n {\r\n return {\r\n guid: \"0gb2o3crjqs9ijcmisefv6k\",\r\n label: e,\r\n alter: \"\",\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: e,\r\n alter: \"\",\r\n attribute: {\r\n description: \"\",\r\n default: \"\",\r\n length: \"0\",\r\n require: \"N\",\r\n readonly: \"N\",\r\n widthInTable: \"0\",\r\n hideInPdf: \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n })\r\n : null,\r\n }}\r\n icon={getIcon(item?.value5)}\r\n layoutType=\"content\"\r\n />\r\n ))}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PDFToolBar;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\ntype Props = {\r\n items: { key: string; label: string }[];\r\n onChange: (key: string) => void;\r\n};\r\n\r\nconst TabsButton = ({ items, onChange }: Props) => {\r\n const [activeKey, setActiveKey] = useState(\"text\");\r\n\r\n useEffect(() => {\r\n onChange(activeKey);\r\n }, [activeKey]);\r\n\r\n return (\r\n <>\r\n
\r\n {items.map((e) => (\r\n {\r\n setActiveKey(e.key);\r\n }}\r\n >\r\n {e.label}\r\n
\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabsButton;\r\n","import { Popover, Button } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ColorResult, SketchPicker } from \"react-color\";\r\nimport { BgColorsOutlined } from \"@ant-design/icons\";\r\n\r\ntype Props = { color: string; onChageColor: (e: ColorResult) => void };\r\n\r\nconst ColorPicker = ({ color, onChageColor }: Props) => {\r\n const [value, setValue] = useState(\"#ffff\");\r\n\r\n return (\r\n {\r\n setValue(color);\r\n }}\r\n content={\r\n {\r\n setValue(e.hex);\r\n }}\r\n onChangeComplete={onChageColor}\r\n />\r\n }\r\n trigger={\"click\"}\r\n >\r\n \r\n {remark.length > 0 && (\r\n

ไม่พบผู้ใช้อีเมลในระบบ

\r\n )}\r\n \r\n \r\n ) : (\r\n
\r\n \"img\"\r\n
\r\n {onLoading ? (\r\n \r\n

\r\n You can verify the request to use WOLF Approve via the\r\n email {getValues().email} that you have entered.\r\n ท่านสามารถยืนยันการขอใช้งานระบบผ่าน email (\r\n {getValues().email}) ที่ท่านได้กรอกมา...\r\n

\r\n history.push(\"/login\")}\r\n >\r\n ย้อนกลับไปหน้าเข้าสู่ระบบ\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

ยืนยันตนเรียบร้อย

\r\n history.push(\"/login\")}\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 \"img\"\r\n
\r\n {onLoading ? (\r\n
\r\n

Verifiying an email address / กำลังยืนยันสิทธิ์

\r\n\r\n \r\n
\r\n ) : (\r\n <>\r\n {remark.length > 0 ? (\r\n <>\r\n

You failed to verify your email address. / ยืนยันตนไม่ถูกต้อง

\r\n

{remark}

\r\n \r\n ) : (\r\n <>\r\n

You have successfully verified an email address. ยืนยันอีเมลสำเร็จ

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ForgotPasswordScreen;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n};\r\n\r\nconst DelegateApplyTo = (props: Props) => {\r\n const [delegateTemplate, setDelegateTemplate] = useState([]);\r\n const [selectedCustomers, setSelectedCustomers] = useState([]);\r\n useEffect(() => {\r\n fetchDelegateTemplate();\r\n }, [props.delegateData]);\r\n const fetchDelegateTemplate = async () => {\r\n const dataJson = {\r\n ApproverId: props.delegateData.DelegateList.ApproverId,\r\n };\r\n const dd = await fetch(\r\n \"api/DelegateList/GetByDelegateTemplateByApproverId\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n let templateData = data;\r\n const _delegateDetail = props.delegateData.DelegateDetail;\r\n let selected: any = [];\r\n let current_sorted_idx = 0;\r\n for (let i = 0; i < _delegateDetail.length; i++) {\r\n const detail = _delegateDetail[i];\r\n for (let j = 0; j < templateData.length; j++) {\r\n const template = templateData[j];\r\n if (detail.TemplateId === template.TemplateId) {\r\n const target = templateData[current_sorted_idx];\r\n const current = template;\r\n templateData[j] = target;\r\n templateData[current_sorted_idx] = current;\r\n current_sorted_idx += 1;\r\n selected.push(template);\r\n }\r\n }\r\n }\r\n setSelectedCustomers([...selected]);\r\n setDelegateTemplate([...templateData]);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n DelegateApplyTo\r\n
\r\n {\r\n // const _delagateTemplate: any = e.value.map((data: any) => {\r\n // const res = { TemplateId: data.TemplateId };\r\n // return res;\r\n // });\r\n // console.log(\"_delagateTemplate\", _delagateTemplate);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: [...e.value],\r\n }));\r\n setSelectedCustomers(e.value);\r\n }}\r\n dataKey=\"TemplateId\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {/* doc code */}\r\n \r\n \r\n

Document Code

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Form name

\r\n

ชื่อแบบฟอร์ม

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Total

\r\n

ทั้งหมด

\r\n \r\n \r\n }\r\n >\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DelegateApplyTo;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { BiCommentEdit } from \"react-icons/bi\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\n\r\ninterface Props {\r\n visibleStatus: boolean;\r\n setVisibleStatus: any;\r\n Index: number;\r\n description?: string;\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n}\r\n\r\nexport default function DescriptionConfigComponent(props: Props) {\r\n const [description, setDescription] = useState(\r\n props.description == undefined ? \"\" : props.description\r\n );\r\n const toast = useRef();\r\n const Header = () => {\r\n return (\r\n
\r\n

Edit Description

\r\n
\r\n );\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n {\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n );\r\n };\r\n function onChangeDescription(e: any) {\r\n setDescription(e.target.value);\r\n }\r\n function saveChange() {\r\n let _listAttach = props.listFileAttachDetails;\r\n _listAttach[props.Index].description = description;\r\n _listAttach[props.Index].modified_date = moment(new Date()).format(\r\n \"DD/MM/YYYY HH:mm:ss\"\r\n );\r\n props.setListFileAttachDetails([..._listAttach]);\r\n props.setVisibleStatus(false);\r\n setDescription(\"\");\r\n }\r\n return (\r\n
\r\n props.setVisibleStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../components/CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport DescriptionConfigComponent from \"../../components/RequestComponents/AttachmentComponent/DescriptionConfigComponent\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport {\r\n UploadRequestFiles,\r\n UploadTinyMce,\r\n} from \"../../Services/UploadFileService\";\r\nimport { UploadFileAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n delegateData: any;\r\n setDelegateData: any;\r\n setAttachmentData: any;\r\n attachmentData: any;\r\n usePeriod: boolean;\r\n setUsePeriod: any;\r\n errorState: any;\r\n};\r\n\r\nconst DelegateInformation = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const ref = useRef();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [attachData, setAttachData] = useState([]);\r\n const [fileData, setFileData] = useState();\r\n const [requestFile, setRequestFile] = useState(null);\r\n const [pathData, setPathData] = useState();\r\n const [selectedCustomers, setSelectedCustomers] = useState(null);\r\n const [descriptionValue, setDescriptionValue] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [index, setIndex] = useState();\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] =\r\n useState(false);\r\n const [dates, setDates] = useState([]);\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({\r\n name: \"\",\r\n ApproverId: null,\r\n });\r\n const [dateRange, setDateRange] = useState(0);\r\n const [checked, setChecked] = useState([]);\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [searchEmployee, setSearchEmployee] = useState([]);\r\n\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = respone.SharepointSiteURL;\r\n\r\n var userData = respone.employeeData;\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n // useEffect(() => {\r\n // let _attachmentData = props.attachmentData;\r\n // console.log(\"dasdasdasd\", props.attachmentData);\r\n\r\n // for (let i = 0; i < _attachmentData.length; i++) {\r\n // const attachment = _attachmentData[i];\r\n // for (let j = 0; j < employeeData.length; j++) {\r\n // const emp = employeeData[j];\r\n // if (attachment.ActorId === emp.EmployeeId) {\r\n // _attachmentData[i].ActorId = emp;\r\n // }\r\n // }\r\n // }\r\n\r\n // setAttachData([..._attachmentData]);\r\n // }, [props.attachmentData, employeeData]);\r\n useEffect(() => {\r\n let _date = new Array(2);\r\n let _attachmentData = props.delegateData.AttachmentList;\r\n const _approver = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.ApproverId\r\n );\r\n const _delegater = employeeData.find(\r\n (data: any) =>\r\n data.EmployeeId === props.delegateData.DelegateList.DelegateToId\r\n );\r\n if (_approver) {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _approver.NameEn : _approver.NameTh,\r\n ApproverId: _approver.EmployeeId,\r\n }));\r\n }\r\n if (_delegater) {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? _delegater.NameEn : _delegater.NameTh,\r\n DelegateToId: _delegater.EmployeeId,\r\n }));\r\n }\r\n for (let i = 0; i < _attachmentData.length; i++) {\r\n const attachment = _attachmentData[i];\r\n for (let j = 0; j < employeeData.length; j++) {\r\n const emp = employeeData[j];\r\n if (attachment.ActorId === emp.EmployeeId) {\r\n _attachmentData[i].ActorId = emp;\r\n }\r\n }\r\n }\r\n setAttachData([..._attachmentData]);\r\n if (\r\n props.delegateData.DelegateList.DateFrom &&\r\n props.delegateData.DelegateList.DateTo\r\n ) {\r\n if (\r\n props.delegateData.DelegateList.DateFrom.length > 0 &&\r\n props.delegateData.DelegateList.DateTo.length > 0\r\n ) {\r\n _date[0] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateFrom\r\n );\r\n _date[1] = formatDateTimeToMoment(\r\n props.delegateData.DelegateList.DateTo\r\n );\r\n }\r\n }\r\n // console.log(\r\n // \"props.delegateData.DelegateList.DateTo\",\r\n // props.delegateData.DelegateList.DateTo.length\r\n // );\r\n\r\n // console.log(\r\n // \"DateFrom\",\r\n // moment(new Date(), \"DD/MM/YYYY\").format(\"DD/MM/yyyy HH:mm:ss\")\r\n // );\r\n setDates([..._date]);\r\n console.log(approver, delegater, employeeData);\r\n }, [props.delegateData, employeeData]);\r\n\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employeeData;\r\n console.log(\"Dialog=>value \", value);\r\n setApproverTextFilter(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n userData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().indexOf(value?.toLowerCase()) !== -1\r\n : data.NameTh?.toLowerCase().indexOf(value?.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchEmployee([...data]);\r\n };\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n const onSelectCheckboxDelegate = (checked: any, keyProps: any) => {\r\n console.log(checked, keyProps);\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n console.log(\"date\", date);\r\n if (date !== null) {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: formatDateTimeWithSlash(date[0]),\r\n DateTo: formatDateTimeWithSlash(date[1]),\r\n },\r\n }));\r\n setDates([...date]);\r\n } else {\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DateFrom: null,\r\n DateTo: null,\r\n },\r\n }));\r\n setDates([]);\r\n }\r\n };\r\n const formatDateTimeWithSlash = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD/MM/yyyy\");\r\n }\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeAttachment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"yyy/mm/DD HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const formatDateTimeToMoment = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return momentObj;\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showDeletedData() {\r\n toggleAlert({\r\n description: `Data delete success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Deleted Data\",\r\n // detail: \"\",\r\n // });\r\n }\r\n function rowDelete(rowIndex: any) {\r\n let data = attachData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n console.log(\"reoderSequencereoderSequence\", reoderSequence);\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...reoderSequence],\r\n }));\r\n setAttachData([...reoderSequence]);\r\n showDeletedData();\r\n }\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n const attachWorkList = attachData;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log({ response, requestFile });\r\n\r\n if (response.data?.result === true) {\r\n if (lastFile !== undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = lastFile.sequence + 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = response.data?.fileName;\r\n\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n } else if (lastFile === undefined) {\r\n // newFile.memo_id = checking.memoid;\r\n newFile.sequence = 1;\r\n newFile.ActorId = userData;\r\n newFile.AttachedDate = NewDate;\r\n newFile.AttachFile = fileData;\r\n newFile.ModifiedDate = NewDate;\r\n newFile.ModifiedBy = userData.EmployeeId.toString();\r\n newFile.FileName = description;\r\n }\r\n if (_sharepointSiteURL) {\r\n newFile.FilePath = _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.FilePath = response.data.pathUrl;\r\n }\r\n if (lastFile != undefined) {\r\n newFile.sequence = lastFile.sequence + 1;\r\n } else {\r\n newFile.sequence = 1;\r\n }\r\n\r\n attachWorkList.push(newFile);\r\n console.log({ attachWorkList });\r\n\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...attachWorkList],\r\n }));\r\n setAttachData([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setDescriptionValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please Select File\",\r\n // life: 3000,\r\n // });\r\n }\r\n // setOnLoading(true);\r\n // const rawData = attachData;\r\n // const lastFile = attachData[attachData.length - 1];\r\n // const NewDate = moment(new Date()).format(\"yyy/mm/DD HH:mm:ss\");\r\n // let newFile = Object.assign({}, lastFile);\r\n // if (requestFile !== null) {\r\n // if (lastFile !== undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = lastFile.sequence + 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // } else if (lastFile === undefined) {\r\n // // newFile.memo_id = checking.memoid;\r\n // newFile.sequence = 1;\r\n // newFile.ActorId = userData;\r\n // newFile.AttachedDate = NewDate;\r\n // newFile.AttachFile = fileData;\r\n // newFile.ModifiedDate = NewDate;\r\n // newFile.ModifiedBy = userData.EmployeeId.toString();\r\n // newFile.FileName = description;\r\n // }\r\n // let base64: any = await convertBase64(requestFile);\r\n // console.log(\"e.target\", base64);\r\n // for (let i = 0; i < base64.length; i++) {\r\n // const text = base64[i];\r\n // if (text === \",\") {\r\n // base64 = base64.substring(i + 1);\r\n // break;\r\n // }\r\n // }\r\n // const dataJson = {\r\n // FileBytes: base64,\r\n // FileName: requestFile.name,\r\n // };\r\n\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n // const response = await UploadTinyMce(dataJson);\r\n // console.log(\"response\", response);\r\n // if (response.imageUrl) {\r\n // newFile.FilePath = response.imageUrl;\r\n\r\n // rawData.push(newFile);\r\n // setAttachData([...rawData]);\r\n // props.setDelegateData((prevState: any) => ({\r\n // ...prevState,\r\n // AttachmentList: [...rawData],\r\n // }));\r\n // setRequestFile(null);\r\n // setDescriptionValue(\"\");\r\n // ref.current.value = null;\r\n // }\r\n // }\r\n }\r\n const convertBase64 = (file: any) => {\r\n return new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(file);\r\n fileReader.onload = () => {\r\n resolve(fileReader.result);\r\n };\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n };\r\n const onUpload = () => {\r\n toast.current.show({\r\n severity: \"success\",\r\n summary: \"Success\",\r\n detail: \"File Uploaded\",\r\n life: 3000,\r\n });\r\n };\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 3000,\r\n // });\r\n };\r\n const onRemove = () => {\r\n toggleAlert({\r\n description: `File Remove success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"warn\",\r\n // summary: \"Success\",\r\n // detail: \"File Removed\",\r\n // life: 1000,\r\n // });\r\n };\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n setRequestFile(e.target.files[0]);\r\n\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setAttachData(\r\n attachData.filter((val) => {\r\n return val.sequence !== index;\r\n })\r\n );\r\n\r\n onRemove();\r\n }\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setSearchEmployee(employee);\r\n setEmployeeData(employee);\r\n }\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n // fetchDataEmployee();\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n console.log(userData.Lang === \"EN\" ? data.NameEn : data.NameTh);\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n ApproverId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n DelegateToId: data.EmployeeId,\r\n },\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n {\r\n console.log(approver);\r\n }}\r\n >\r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n props.setUsePeriod(e.checked)}\r\n />\r\n \r\n Delegate during Period.\r\n \r\n \r\n {/* */}\r\n \r\n {props.usePeriod && (\r\n \r\n
\r\n
\r\n
\r\n Delegate Date Period : \r\n *\r\n
\r\n

ช่วงเวลา :

\r\n
\r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n showIcon={false}\r\n isFullWidth={true}\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n Remark : \r\n *\r\n
\r\n

หมายเหตุ :

\r\n \r\n \r\n \r\n props.setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateList: {\r\n ...props.delegateData.DelegateList,\r\n Remark: e,\r\n },\r\n }))\r\n }\r\n />\r\n \r\n
\r\n \r\n \r\n
\r\n Attach File : \r\n
\r\n

ไฟล์แนบ :

\r\n \r\n \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n File Description : \r\n
\r\n

รายละเอียดไฟล์ :

\r\n \r\n \r\n
\r\n {\r\n setDescriptionValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n\r\n \r\n \r\n Upload\r\n \r\n
\r\n \r\n
\r\n
\r\n {attachData.length > 0 && (\r\n setSelectedCustomers(e.value)}\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n

Attach Date

\r\n

วันที่แนบไฟล์

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n {formatDateTimeAttachment(row.AttachedDate)}\r\n )}\r\n >\r\n \r\n \r\n

Attached File

\r\n

ไฟล์ที่แนบ

\r\n \r\n \r\n }\r\n body={(row: any) => (\r\n \r\n {row.AttachFile}\r\n \r\n )}\r\n >\r\n \r\n \r\n

Description

\r\n

รายละเอียด

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Actor

\r\n

ผู้ดำเนินการ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n )}\r\n >\r\n \r\n )}\r\n
\r\n \r\n onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={setIsDialogApproverVisible}\r\n />\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default DelegateInformation;\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoNewspaperOutline,\r\n IoShieldCheckmarkOutline,\r\n} from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const DelegateSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Apply to Form\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Button } from \"antd\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport DelegateApplyTo from \"./DelegateApplyTo\";\r\nimport DelegateInformation from \"./DelegateInformation\";\r\nimport \"./DelegateScreen.css\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { DelegateSideBar } from \"./DelegateSideBar\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { MdDeleteOutline } from \"react-icons/md\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\n\r\ntype Props = {\r\n responeConfig?: any;\r\n};\r\ninterface DelegateList {\r\n ApproverId: number;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n DateFrom: string;\r\n DateTo: string;\r\n DelegateId: number;\r\n DelegateToId: number;\r\n FilterCreateDateFrom: string;\r\n FilterCreateDateTo: string;\r\n IsActive: string;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n Remark: string;\r\n SecretId: string;\r\n connectionString: string;\r\n dt_ExportLog: string;\r\n userPrincipalName: string;\r\n}\r\nconst DelegateScreen = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [attachmentData, setAttachmentData] = useState([]);\r\n const [delegateData, setDelegateData] = useState({\r\n DelegateDetail: [],\r\n DelegateList: {},\r\n AttachmentList: [],\r\n });\r\n const [errorState, setErrorState] = useState([]);\r\n const [usePeriod, setUsePeriod] = useState(false);\r\n const [delegateId, setDelegateId] = useState(0);\r\n const { isLoad, setLoad } = useLoading();\r\n const query = new URLSearchParams(useLocation().search);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const empData = userData.employeeData;\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (query.get(\"delegateId\") !== undefined) {\r\n // console.log(\"ddddddasd\");\r\n setDelegateId(Number(query.get(\"delegateId\")));\r\n // fetchDelegate(query.get(\"delegateId\"));\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n if (delegateId !== 0) {\r\n fetchDelegate(delegateId);\r\n fetchAttachment(delegateId);\r\n }\r\n setLoad(false);\r\n }, [delegateId]);\r\n const fetchAttachment = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateAttachByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(data);\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n AttachmentList: [...data],\r\n }));\r\n // setAttachmentData([...data]);\r\n });\r\n };\r\n const fetchDelegate = async (delegateId: any) => {\r\n const dataJson = {\r\n DelegateId: delegateId,\r\n };\r\n const dd = await fetch(\"api/DelegateList/GetByDelegateId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"delegate\", data);\r\n setLoad(false);\r\n if (\r\n data.DelegateList.DateFrom &&\r\n data.DelegateList.DateTo &&\r\n data.DelegateList.DateTo.length > 0 &&\r\n data.DelegateList.DateFrom.length > 0\r\n ) {\r\n setUsePeriod(true);\r\n }\r\n setDelegateData((prevState: any) => ({\r\n ...prevState,\r\n DelegateDetail: data.DelegateDetail,\r\n DelegateList: data.DelegateList,\r\n }));\r\n });\r\n };\r\n const onSelectView = (e: any) => {\r\n setSelectView(e);\r\n };\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n const onSubmit = async () => {\r\n let _delegateData: any = delegateData;\r\n let validation: any = [];\r\n // setOnLoading(true);\r\n // _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n // _delegateData.DelegateList.DateFrom = usePeriod\r\n // ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n // : null;\r\n // _delegateData.DelegateList.DateTo = usePeriod\r\n // ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n // : null;\r\n // console.log(\"_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined &&\r\n delegateData.DelegateList.DateTo === undefined &&\r\n delegateData.DelegateList.DateTo === null &&\r\n delegateData.DelegateList.DateFrom === null &&\r\n delegateData.DelegateList.DateFrom === \"\" &&\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (!delegateData.DelegateList.DateFrom) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (!delegateData.DelegateList.DateTo) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n _delegateData.AttachmentList = _attachList;\r\n const dd = await fetch(\"api/DelegateList/CreateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_delegateData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n toggleAlert({\r\n description: `Submit success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success\",\r\n // detail: `Submit complete!`,\r\n // life: 7000,\r\n // });\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n const onDelete = async () => {\r\n const _delegateData = delegateData;\r\n setLoad(true);\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/DeleteDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n };\r\n const onUpdate = async () => {\r\n const _delegateData = delegateData;\r\n console.log(\"_delegateData_delegateData\", _delegateData);\r\n const _attachList = _delegateData.AttachmentList.map(\r\n (data: any, idx: any) => {\r\n let _data: any = {};\r\n _data[\"sequence\"] = idx;\r\n _data[\"attach_path\"] = data.FilePath;\r\n _data[\"attach_file\"] = data.AttachFile;\r\n _data[\"attach_date\"] = data.AttachedDate;\r\n _data[\"description\"] = data.FileName;\r\n _data[\"actor\"] = data.ActorId;\r\n return _data;\r\n // _data.AttachFile = \"\"\r\n // _data.AttachedDate = \"\"\r\n // _data.FileName=\"\"\r\n }\r\n );\r\n let validation: any = [];\r\n if (delegateData.DelegateList.ApproverId === undefined) {\r\n validation.push({ label: \"Aprrover\" });\r\n }\r\n if (delegateData.DelegateList.DelegateToId === undefined) {\r\n validation.push({ label: \"Delegate to\" });\r\n }\r\n if (delegateData.DelegateList.Remark === undefined) {\r\n validation.push({ label: \"Remark\" });\r\n } else {\r\n if (delegateData.DelegateList.Remark.length === 0) {\r\n validation.push({ label: \"Remark\" });\r\n }\r\n }\r\n if (delegateData.DelegateDetail.length === 0) {\r\n validation.push({ label: \"Apply To\" });\r\n }\r\n console.log(\"usePeriod\", usePeriod);\r\n\r\n if (usePeriod) {\r\n if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\" ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n validation.push({ label: \"DateTo\" });\r\n } else if (\r\n delegateData.DelegateList.DateFrom === undefined ||\r\n delegateData.DelegateList.DateFrom === null ||\r\n delegateData.DelegateList.DateFrom === \"\"\r\n ) {\r\n validation.push({ label: \"DateFrom\" });\r\n } else if (\r\n delegateData.DelegateList.DateTo === undefined ||\r\n delegateData.DelegateList.DateTo === null ||\r\n delegateData.DelegateList.DateTo === \"\"\r\n ) {\r\n validation.push({ label: \"DateTo\" });\r\n } else {\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom} 00:00:00`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo} 00:00:00`\r\n : null;\r\n }\r\n }\r\n console.log(\"_delegateData\", _delegateData);\r\n\r\n if (validation.length > 0) {\r\n let text = \"\";\r\n for (let i = 0; i < validation.length; i++) {\r\n const valid = validation[i];\r\n if (i < validation.length - 1) {\r\n text = text + valid.label + \",\";\r\n } else {\r\n text = text + valid.label;\r\n }\r\n }\r\n setErrorState([...validation]);\r\n toggleAlert({\r\n description: `${text} is require.`,\r\n message: `Require field warning`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: `${text}`,\r\n // life: 7000,\r\n // });\r\n } else {\r\n setLoad(true);\r\n\r\n _delegateData.DelegateList[\"CreatedBy\"] = empData.EmployeeId.toString();\r\n _delegateData.DelegateList.DateFrom = usePeriod\r\n ? `${_delegateData.DelegateList.DateFrom}`\r\n : null;\r\n _delegateData.DelegateList.DateTo = usePeriod\r\n ? `${_delegateData.DelegateList.DateTo}`\r\n : null;\r\n const jsonData = {\r\n DelegateId: _delegateData.DelegateList.DelegateId,\r\n ModifiedBy: empData.EmployeeId.toString(),\r\n DelegateList: _delegateData.DelegateList,\r\n DelegateDetail: _delegateData.DelegateDetail,\r\n\r\n AttachmentList: _attachList,\r\n };\r\n\r\n const dd = await fetch(\"api/DelegateList/UpdateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(jsonData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setLoad(false);\r\n // console.log(data);\r\n history.push(\"/Settings?name=DelegateList\");\r\n });\r\n }\r\n };\r\n return (\r\n console.log(delegateData)}\r\n >\r\n \r\n {isLoad && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Delegation of Authority

\r\n
\r\n {delegateId === 0 && (\r\n \r\n )}\r\n {delegateId !== 0 && (\r\n \r\n )}\r\n\r\n {delegateId !== 0 && (\r\n \r\n confirmDialog({\r\n message: \"Do you want to delete this delegation ?\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await onDelete();\r\n },\r\n })\r\n }\r\n >\r\n Delete\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n\r\n
\r\n {selectView === \"1\" && (\r\n \r\n )}\r\n {selectView === \"2\" && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DelegateScreen;\r\n","export const getAllEmailTemplate = async () => {\r\n const respone = await fetch(\"api/EmailTemplate/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const getEmailTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const updateEmailTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/EmailTemplate/updateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./EmailTemplateDetail.css\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\n// import { Editor } from \"primereact/editor\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n clickSelectProps: any;\r\n dataProps: any;\r\n setDataProps: any;\r\n}\r\n// import { Editor } from \"primereact/editor\";\r\nexport const EmailTemplateDetail = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const toast = useRef(null);\r\n const [loading, setLoading] = useState(true);\r\n useEffect(() => {\r\n _EmailTemplate();\r\n _clickSelectText();\r\n }, [props.clickSelectProps]);\r\n useEffect(() => {\r\n console.log(\"props.dataProps\", props.dataProps);\r\n }, [props.dataProps]);\r\n\r\n function _Dropdown(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data[key],\r\n }));\r\n }\r\n }\r\n function _CheckboxCpmponents(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n }\r\n function _InputText(data: any, key: any) {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailSubject: data,\r\n }));\r\n }\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n console.log(\"_getEmailTemplate\", _getEmailTemplate);\r\n }\r\n function _clickSelectText() {\r\n let _textEditor = props.dataProps.EmailBody;\r\n let _clickSelectProps =\r\n props.clickSelectProps === undefined ? \"\" : props.clickSelectProps;\r\n let _textEditoPropsr = _textEditor + _clickSelectProps;\r\n\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: _textEditoPropsr,\r\n }));\r\n }\r\n\r\n const handleEditorChange = (content: any, editor?: any) => {\r\n props.setDataProps((prevState: any) => ({\r\n ...prevState,\r\n EmailBody: content,\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n

Email Template

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

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: \"70vh\",\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n if (_sharepointSiteURL) {\r\n _sharepointSiteURL =\r\n _sharepointSiteURL.charAt(0) === \"/\"\r\n ? _sharepointSiteURL.substring(1)\r\n : _sharepointSiteURL;\r\n success(_sharepointSiteURL + \"/\" + response.data.pathUrl);\r\n } else {\r\n success(\r\n `${protocol}//` + _tinyURL + response.data.pathUrl\r\n );\r\n }\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={props.dataProps.EmailBody}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoArrowBackSharp, IoCloseOutline, IoMenu } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../components/DropdownComponents/DropdownComponents\";\r\nimport { EmailTemplateDetail } from \"../../components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IEmailTemplateModel } from \"../../IRequestModel/IEmailTemplateModel\";\r\n\r\nimport {\r\n AddEmailTemplate,\r\n getEmailTemplateById,\r\n updateEmailTemplate,\r\n} from \"../../Services/EmailTemplateService\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport \"./EmailTemplateDetailScreen.css\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\ntype Props = {};\r\nconst createEmailTemplate: IEmailTemplateModel = {\r\n EmailTemplateId: 0,\r\n TemplateId: 0,\r\n TemplateName: \"\",\r\n TemplateDocumentCode: \"\",\r\n FormState: \"\",\r\n EmailTo: \"\",\r\n EmailCC: \"\",\r\n EmailSubject: \"\",\r\n EmailBody: \"\",\r\n CreatedByName: \"\",\r\n IsActive: true,\r\n ModifiedByName: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n CreatedDate: \"\",\r\n};\r\nconst EmailTemplateDetailScreen = (props: Props) => {\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [template, setTemplate] = useState({});\r\n const [formSelect, setFormSelect] = useState({});\r\n const [clickSelect, setClickSelect] = useState(\"\");\r\n const [formSelectLabel, setFormSelectLabel] = useState([]);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState();\r\n const [emailTemplateObj, setEmailTemplateObj] =\r\n useState(createEmailTemplate);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n let history = useHistory();\r\n const toast = useRef();\r\n const [action, setAction] = useState(\"\");\r\n const query = new URLSearchParams(useLocation().search);\r\n useEffect(() => {\r\n let _emailTemplateId: string = query.get(\"EmailTemplateId\") || \"\";\r\n if (_emailTemplateId) {\r\n setAction(\"edit\");\r\n fetchEmailTemplateById(Number(_emailTemplateId));\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n fetchTemplate();\r\n }, []);\r\n useEffect(() => {\r\n console.log(\"emailTemplateObj\", emailTemplateObj);\r\n }, [emailTemplateObj]);\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n async function onSave() {\r\n let _emailTemplateObj = emailTemplateObj;\r\n\r\n if (action === \"add\") {\r\n _emailTemplateObj.CreatedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedBy =\r\n userData.employeeData.EmployeeId.toString();\r\n _emailTemplateObj.ModifiedByName = userData.employeeData.NameEn;\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n const res = await AddEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n console.log(\"res0\", res);\r\n } else {\r\n _emailTemplateObj.TemplateId =\r\n _emailTemplateObj.TemplateId === 0\r\n ? null\r\n : _emailTemplateObj.TemplateId;\r\n\r\n console.log(\"_emailTemplateObjeeeeeee\", _emailTemplateObj);\r\n\r\n const res = await updateEmailTemplate(_emailTemplateObj);\r\n if (res) {\r\n history.push(\"/EmailTemplateList\", {\r\n responeAddTemplate: res,\r\n typeTemplate: action,\r\n });\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n }\r\n }\r\n function onClickSelect(data: any) {\r\n setClickSelect(data);\r\n }\r\n\r\n async function dataEdit(data: any) {\r\n const dataJson = {\r\n TemplateId: data,\r\n };\r\n let _responeData = await GetTemplateById(dataJson);\r\n if (_responeData !== null) {\r\n _templateDropdown(_responeData);\r\n }\r\n }\r\n async function fetchTemplate() {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n // const dataJson = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // };\r\n // const dataJsonn = {\r\n // CreatedBy: empid.toString(),\r\n // DepartmentId: DepartmentId,\r\n // Username: empData.employeeData.Username,\r\n // Email: empData.employeeData.Email,\r\n // };\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n // let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n // let _dataTemplate = await GetTemplateTemplateListVersion(dataJson);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n async function fetchEmailTemplateById(data: any) {\r\n const dataJson = {\r\n EmailTemplateId: Number(data),\r\n };\r\n let _dataTemplate = await getEmailTemplateById(dataJson);\r\n\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n ..._dataTemplate,\r\n }));\r\n dataEdit(_dataTemplate.TemplateId);\r\n }\r\n function _templateDropdown(data: any) {\r\n if (data !== undefined && data !== null) {\r\n let _dataAdvanceForm =\r\n data === undefined || data === null\r\n ? []\r\n : data?.AdvanceForm.length === 0\r\n ? []\r\n : JSON.parse(data?.AdvanceForm);\r\n let layout: any = [];\r\n let layoutLabel: any = [];\r\n _dataAdvanceForm.items.map((_data: any) => {\r\n layout.push(_data.layout);\r\n });\r\n layout.map((_data: any) => {\r\n if (_data.length > 1) {\r\n _data.map((data: any) => {\r\n if (data.template.label.length !== 0) {\r\n layoutLabel.push(data.template.label);\r\n }\r\n });\r\n } else {\r\n if (_data[0].template.label.length !== 0) {\r\n layoutLabel.push(_data[0].template.label);\r\n }\r\n }\r\n });\r\n setFormSelect(data);\r\n setEmailTemplateObj((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: data.TemplateId,\r\n TemplateDocumentCode: data.TemplateNameWithCode,\r\n TemplateName: data.TemplateName,\r\n }));\r\n setFormSelectLabel(layoutLabel);\r\n }\r\n }\r\n const confirmDialogButton = () => {\r\n return (\r\n <>\r\n \r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n accept={onSave}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {confirmDialogButton()}\r\n
\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n\r\n
\r\n

Create Email Template

\r\n
\r\n \r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"32px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n \r\n }\r\n onClickProps={() => setVisibleConfirmDialog(true)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formSelectLabel.length !== 0 ? (\r\n <>\r\n {formSelectLabel.map((data: any) => {\r\n return (\r\n <>\r\n onClickSelect(data)}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F1F1F1 \",\r\n fontSize: \"13px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n marginBottom: \"10px\",\r\n background: \"#F1F1F1\",\r\n color: \"#262A2D\",\r\n }}\r\n />\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateDetailScreen);\r\n","import React from \"react\";\r\nimport { AiOutlineApartment } from \"react-icons/ai\";\r\nimport { BsCalendar4, BsNewspaper, BsPerson } from \"react-icons/bs\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\n\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { GrDocumentText } from \"react-icons/gr\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n}\r\n\r\nexport const SimLineSideBar = (props: Props) => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Initial\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Result\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n {SideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React from \"react\";\r\nimport \"../SimLineApproveScreen.css\";\r\nimport { Col,Row } from \"antd\";\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\ninterface Props {}\r\n\r\nexport const InitialComponent = (props: Props) => {\r\n const dataAutoApprove = [\r\n { nameEn: \"First Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นแรก\" },\r\n { nameEn: \"Last Step Approve\", nameTh: \"อนุมัติเฉพาะขั้นสุดท้าย\" },\r\n ];\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Requester (Username)\r\n \r\n
\r\n \r\n \r\n
\r\n Email (Ex. @xxx.com)\r\n \r\n
\r\n \r\n \r\n
\r\n Name\r\n \r\n
\r\n \r\n \r\n
\r\n Position Th\r\n \r\n
\r\n \r\n
\r\n
Report To
\r\n \r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n
\r\n Template Name\r\n \r\n
\r\n \r\n \r\n
\r\n Template ID\r\n \r\n
\r\n \r\n \r\n
\r\n Total Amount\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
Redundant Approver
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
Auto Approve
\r\n
\r\n
\r\n {dataAutoApprove.map((_data, i) => {\r\n return (\r\n \r\n \r\n \r\n
\r\n );\r\n })}\r\n
\r\n \r\n \r\n
\r\n
Approval Matrix
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Approval Matrix Detail
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n
Specific Approvals
\r\n \r\n \r\n Seq\r\n ลำดับ\r\n \r\n }\r\n />\r\n \r\n Control Label\r\n ชื่อ\r\n \r\n }\r\n />\r\n \r\n Type\r\n ชนิด\r\n \r\n }\r\n />\r\n \r\n Value\r\n ค่า\r\n \r\n }\r\n />\r\n \r\n Delete\r\n ลบ\r\n \r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\n\r\ninterface Props {}\r\n\r\nexport const ResultComponent = (props: Props) => {\r\n return (\r\n <>\r\n
Approval Matrix
\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

Seq

\r\n

ลำดับ

\r\n
\r\n

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { SimLineSideBar } from \"./SimLineSideBar\";\r\nimport { InitialComponent } from \"./InitialComponent/InitialComponent\";\r\nimport { ResultComponent } from \"./ResultComponent/ResultComponent\";\r\nimport { Button } from \"antd\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst SimLineApproveScreen = (props: Props) => {\r\n const [selectView, setSelectView] = useState(\"1\");\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const toast = useRef(null);\r\n const [onLoading, setOnLoading] = useState(false);\r\n\r\n const toggleSideBar = () => {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={() => toggleSideBar()}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

Approval Matrix Simulator

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n
\r\n
\r\n
\r\n {\r\n setSelectView(e);\r\n }}\r\n curPage={selectView}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n {selectView === \"1\" && }\r\n {selectView === \"2\" && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(SimLineApproveScreen);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { useHistory } from \"react-router\";\r\nimport { Popover, Tooltip } from \"antd\";\r\n\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n endpoint: any;\r\n}\r\n\r\nexport const DashboardCard = (props: Props) => {\r\n const history = useHistory();\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n }, []);\r\n\r\n const MapDataFromEndpoint = (_item: any) => {\r\n let result: any = [];\r\n for (let index = 3; index < props.endpoint.length; index++) {\r\n result.push(props.endpoint[index]);\r\n }\r\n return (\r\n <>\r\n {result.map((data: any) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {TextAbstract(_item[data], 50)}\r\n \r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n function TextAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n return (\r\n <>\r\n
\r\n {props.dashboard?.length >= 1 ? (\r\n <>\r\n {props.dashboard?.map((_data: any, i: number) => {\r\n return (\r\n
\r\n
\r\n {TextAbstract(_data.headData, 80)}\r\n
\r\n
\r\n {_data.items?.map((_item: any, j: number) => {\r\n let colorValue = \"\";\r\n let nameValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_item.Memo_StatusName === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n return (\r\n \r\n {\r\n window.open(\r\n `/Request?MemoID=${_item[props.endpoint[0]]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {_item[props.endpoint[1]]}\r\n \r\n
\r\n\r\n \r\n \r\n {_item[props.endpoint[2]]}\r\n \r\n
\r\n
\r\n \r\n {_item[props.endpoint[3]]}\r\n \r\n \r\n {_item[props.endpoint[6]]}\r\n \r\n \r\n {_item[props.endpoint[7]]}\r\n \r\n {/* {MapDataFromEndpoint(_item)} */}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import FullCalendar, { EventContentArg } from \"@fullcalendar/react\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\r\nimport timeGridPlugin from \"@fullcalendar/timegrid\";\r\nimport interactionPlugin from \"@fullcalendar/interaction\";\r\nimport moment from \"moment\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { GetDashboardFilterStatus } from \"../../../Services/ConfigurationService\";\r\ninterface Props {\r\n dashboard: any;\r\n statusCard: any;\r\n onLoading: any;\r\n setValueDropdownInCalendar: any;\r\n valueDropdownInCalendar: any;\r\n endpoint: any;\r\n responeConfig: any;\r\n}\r\n\r\nexport const DashboardCalendar = (props: Props) => {\r\n const [dataCalendar, setDataCalendar] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n useEffect(() => {\r\n console.log(props.dashboard, \"props.dashboard\");\r\n if (props.dashboard !== undefined) {\r\n // mapDataDropDown();\r\n mapData();\r\n }\r\n }, [props.dashboard]);\r\n async function mapData() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const array: any[] = [];\r\n props.dashboard.map((_data: any, index: number) => {\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n console.log(\"_data2=>\", _data2);\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]],\r\n status: _data2[props.endpoint[2]],\r\n title: _data2[props.endpoint[3]],\r\n date: new Date(\r\n moment(moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n ),\r\n url: `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n allDay: true,\r\n color: colorValue,\r\n });\r\n });\r\n });\r\n console.log(\"array=>\", array);\r\n\r\n setDataCalendar([...array]);\r\n setDefaultValueDashboard([...array]);\r\n setOnLoading(false);\r\n }\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n // async function mapDataDropDown() {\r\n // var _filter = await GetDashboardFilterStatus();\r\n // const arrayDropDown: any[] = [];\r\n // const arrayValueDropdown: any[] = [];\r\n // _filter.map((_data: any) => {\r\n // const [value, name, status] = _data.split(\"||\");\r\n // arrayDropDown.push({\r\n // value: value,\r\n // name: name,\r\n // });\r\n // if (status) {\r\n // arrayValueDropdown.push(value);\r\n // }\r\n // });\r\n // props.setValueDropdownInCalendar([...arrayValueDropdown]);\r\n // setOptionDropdown([...arrayDropDown]);\r\n // }\r\n\r\n // function globalFilterDropDown(_data: any) {\r\n // if (props.valueDropdownInCalendar.length === 0) {\r\n // return [];\r\n // }\r\n // const _filtered = _data.filter((item: any) => {\r\n // for (let i = 0; i < props.valueDropdownInCalendar.length; i++) {\r\n // var _dataSpilt = props.valueDropdownInCalendar[i].split(\";|;\");\r\n // for (let j = 0; j < _dataSpilt.length; j++) {\r\n // if (item.status?.includes(_dataSpilt[j])) {\r\n // return true;\r\n // }\r\n // }\r\n // }\r\n // });\r\n // return _filtered;\r\n // }\r\n // useEffect(() => {\r\n // if (defaultValueDashboard !== undefined) {\r\n // let filteredData = globalFilterDropDown(defaultValueDashboard);\r\n // setDataCalendar(filteredData);\r\n // setOnLoading(false);\r\n // }\r\n // }, [props.valueDropdownInCalendar]);\r\n\r\n function renderSidebar() {\r\n return (\r\n {\r\n console.log(props.valueDropdownInCalendar);\r\n }}\r\n >\r\n
\r\n {/*
\r\n {optionDropdown?.length !== 0 && optionDropdown !== undefined && (\r\n {\r\n props.setValueDropdownInCalendar(e.value);\r\n }}\r\n />\r\n )}\r\n
*/}\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {onLoading || props.dashboard === undefined ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n {props.statusCard !== undefined &&\r\n props.dashboard !== undefined &&\r\n renderSidebar()}\r\n
\r\n {\r\n info.jsEvent.preventDefault();\r\n if (info.event.url) {\r\n window.open(info.event.url, \"noreferrer\");\r\n }\r\n }}\r\n headerToolbar={{\r\n left: \"prev\",\r\n center: \"title\",\r\n right: \"next\",\r\n }}\r\n dayMaxEvents={true}\r\n // eventContent={renderEventContent}\r\n events={dataCalendar}\r\n editable={false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport \"./DashboardTimeline.css\";\r\nimport Timeline, {\r\n DateHeader,\r\n SidebarHeader,\r\n TimelineHeaders,\r\n} from \"react-calendar-timeline\";\r\nimport \"react-calendar-timeline/lib/Timeline.css\";\r\nimport { RiDatabase2Line } from \"react-icons/ri\";\r\nimport { MinusCircleOutlined, PlusCircleOutlined } from \"@ant-design/icons\";\r\nimport { Tooltip } from \"antd\";\r\n\r\ntype Props = { dashboard: any; onLoading: any; statusCard: any; endpoint: any };\r\n\r\nexport const DashboardTimeline = (props: Props) => {\r\n const [dataTimeline, setDataTimeline] = useState();\r\n const [dataGroups, setDataGroups] = useState();\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n useEffect(() => {\r\n mapData();\r\n }, [props.dashboard]);\r\n\r\n async function mapData() {\r\n if (props.dashboard) {\r\n var array: any[] = [];\r\n var array2: any[] = [];\r\n console.log(props.dashboard, \"props.statusCard\");\r\n props.dashboard.map((_data: any, index: number) => {\r\n array2.push({\r\n id: index,\r\n title: _data[\"headData\"],\r\n rightTitle: _data[\"headData\"],\r\n });\r\n _data.items.map((_data2: any, index2: number) => {\r\n let colorValue = \"\";\r\n props.statusCard.map((_color: any) => {\r\n const [status, color, name] = _color.split(\"||\");\r\n if (_data2[props.endpoint[2]] === name) {\r\n colorValue = color;\r\n }\r\n });\r\n\r\n array.push({\r\n id: _data2[props.endpoint[0]] + \"\",\r\n group: index + \"\",\r\n title: _data2[props.endpoint[3]],\r\n start: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n end: moment(\r\n new Date(\r\n moment(\r\n moment(_data2[props.endpoint[7]], \"DD MMMM yyyy\").add(\r\n 1,\r\n \"days\"\r\n )\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n bgColor: \"rgba(225, 166, 244, 0.6)\",\r\n itemProps: {\r\n \"data-tip\": _data2[\"Memo_MemoSubject\"],\r\n\r\n onMouseUp: () => {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${_data2[\"Memo_MemoId\"]}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n },\r\n style: {\r\n background: colorValue,\r\n },\r\n },\r\n });\r\n });\r\n });\r\n console.log(array, \"array\");\r\n console.log(array2, \"array2\");\r\n setDataTimeline([...array]);\r\n setDataGroups([...array2]);\r\n } else {\r\n }\r\n }\r\n\r\n const renderStatusView = () => {\r\n let ss: any = props.statusCard;\r\n let dd: any = [];\r\n for (let i = 0; i < ss.length; i++) {\r\n const _status = ss[i];\r\n const [status, color, displayName] = _status.split(\"||\");\r\n console.log('_status.split(\"||\")', ss.length);\r\n\r\n for (let j = i + 1; j < ss.length; j++) {\r\n const element = ss[j];\r\n const [status2, color2, displayName2] = element.split(\"||\");\r\n if (displayName === displayName2) {\r\n console.log(\"ssssss : \", j, element, \",\", _status, \": \", i);\r\n dd.push(j);\r\n }\r\n }\r\n }\r\n var tt = props.statusCard;\r\n let _dd = [...new Set(dd)];\r\n\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < tt.length; i++) {\r\n const aa = tt[i];\r\n for (let j = 0; j < _dd.length; j++) {\r\n const element = _dd[j];\r\n if (i === element) {\r\n isHas = true;\r\n console.log(\"aaaaaaaaaaaaaaa\", aa);\r\n }\r\n }\r\n if (!isHas) {\r\n zz.push(aa);\r\n }\r\n isHas = false;\r\n }\r\n\r\n console.log(\"ssssss\", zz, \",\", [...new Set(dd)]);\r\n console.log(\"ssssss\", zz);\r\n let zz15: any = [];\r\n const l2 = zz.map((_color: any) => {\r\n const [status, color, displayName, priority] = _color.split(\"||\");\r\n zz15.push({\r\n displayName: displayName,\r\n color: color,\r\n priority: priority,\r\n });\r\n });\r\n var dd321 = zz15.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n });\r\n const l = dd321.map((_data: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n });\r\n\r\n return l;\r\n };\r\n\r\n function renderSidebar() {\r\n return (\r\n
\r\n
\r\n
\r\n <>{renderStatusView()}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n var keys = {\r\n groupIdKey: \"id\",\r\n groupTitleKey: \"title\",\r\n groupRightTitleKey: \"rightTitle\",\r\n itemIdKey: \"id\",\r\n itemTitleKey: \"title\",\r\n itemDivTitleKey: \"title\",\r\n itemGroupKey: \"group\",\r\n itemTimeStartKey: \"start\",\r\n itemTimeEndKey: \"end\",\r\n groupLabelKey: \"title\",\r\n };\r\n\r\n var [sideBarWidth, setSideBarWidth] = useState(150);\r\n\r\n function handleresize() {\r\n if (sideBarWidth >= 151) {\r\n setSideBarWidth(sideBarWidth - 50);\r\n } else {\r\n setSideBarWidth(sideBarWidth);\r\n }\r\n }\r\n return (\r\n {\r\n console.log(dataTimeline);\r\n console.log(dataGroups);\r\n }}\r\n >\r\n {dataTimeline && dataGroups && props.onLoading == false && (\r\n <>\r\n {renderSidebar()}\r\n {props.dashboard.length !== 0 ? (\r\n \r\n \r\n \r\n {({ getRootProps }) => {\r\n return (\r\n
\r\n \r\n \r\n handleresize()}\r\n className=\"set-icon\"\r\n />\r\n \r\n {\" \"}\r\n \r\n \r\n setSideBarWidth(sideBarWidth + 50)\r\n }\r\n className=\"set-icon\"\r\n />\r\n \r\n
\r\n \r\n Group By\r\n \r\n \r\n );\r\n }}\r\n
\r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {props.onLoading === false && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export const GetAllProject = async () => {\r\n const respone = await fetch(\"api/Project/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n BsCalendar4,\r\n BsCalendarDate,\r\n BsCalendarRange,\r\n BsChevronDown,\r\n BsLayoutThreeColumns,\r\n BsPlusSquare,\r\n} from \"react-icons/bs\";\r\n\r\nimport {\r\n FilterAdvanceSearch,\r\n MapGroupData,\r\n MapDataEndpoint,\r\n} from \"../../Services/ReportService\";\r\nimport { DashboardCard } from \"./DashboardCard/DashboardCard\";\r\nimport \"./DashboardScreen.css\";\r\nimport { DashboardCalendar } from \"./DashboardCalendar/DashboardCalendar\";\r\nimport { Button } from \"primereact/button\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\nimport {\r\n GetDashboardStatusCard,\r\n GetDashboardAdvancedFilter,\r\n GetDashboardFilterStatus,\r\n GetDashboardKeyEndpoint,\r\n GetDashboardFilterGroupBy,\r\n GetDashboardDefaultFilterConFig,\r\n LoginConfiguration,\r\n} from \"../../Services/ConfigurationService\";\r\nimport { RiFilterOffLine } from \"react-icons/ri\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { FiFilter } from \"react-icons/fi\";\r\nimport { DashboardTimeline } from \"./DashboardTimeline/DashboardTimeline\";\r\nimport { AiOutlineClose, AiOutlineCloseCircle } from \"react-icons/ai\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { DatePicker } from \"antd\";\r\nimport {\r\n GetAllEmployee,\r\n} from \"../../Services/EmployeeService\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { IoCalendarOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {}\r\n\r\nconst DashboardScreen = (props: Props) => {\r\n const itemFilter: any = {\r\n dropdown: [],\r\n value: [],\r\n };\r\n\r\n const [responeConfig, setResponeConfig] = useState();\r\n const op = useRef(null);\r\n const ref = useRef(null);\r\n const ref2 = useRef(null);\r\n const isMounted = useRef(false);\r\n const [filterGroupBy, setFilterGroupBy] = useState([]);\r\n const [dataFilterGroupBy, setDataFilterGroupBy] = useState();\r\n const [ItemsStatus, setItemsStatus] = useState();\r\n const [dataAdvancedFilter, setDataAdvancedFilter] = useState();\r\n const [dataAdvancedFilterList, setDataAdvancedFilterList] = useState();\r\n const { RangePicker } = DatePicker;\r\n const [dashboard, setDashboard] = useState();\r\n const [defaultValueDashboard, setDefaultValueDashboard] = useState();\r\n const [data, setData] = useState();\r\n const [filter, setFilter] = useState(\"\");\r\n const [selectedFilter, setSelectedFilter] = useState();\r\n const [endpoint, setEndpoint] = useState();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [onSelectView, onSetSelectView] = useState(\"1\");\r\n const [statusCard, setStatusCard] = useState();\r\n const [employeeList, setEmployeeList] = useState();\r\n const [selectedEmployee, setSelectedEmployee] = useState();\r\n const [dates, setDates] = useState();\r\n const [project, setProject] = useState();\r\n const [selectedProject, setSelectedProject] = useState();\r\n const [selectedStatus, setSelectedStatus] = useState();\r\n const [keyEnter, setKeyEnter] = useState(false);\r\n const [onClickFilter, setOnClickFilter] = useState(false);\r\n const [filterAttribute, setFilterAttribute] = useState({ items: [] });\r\n const [userData, setUserData] = useUserContext();\r\n const [isOpenDateFilter, setIsOpenDateFilter] = useState(false);\r\n const [valueDropdownInCalendar, setValueDropdownInCalendar] = useState();\r\n const [isFetchData, setIsFetchData] = useState(false);\r\n useEffect(() => {\r\n isMounted.current = true;\r\n window.addEventListener(\"scroll\", handleScroll);\r\n fetchData();\r\n }, []);\r\n async function fetchData() {\r\n setIsFetchData(true);\r\n var responseConfig = await LoginConfiguration();\r\n var _filter = await GetDashboardFilterStatus();\r\n var _filterProject = await GetAllProject();\r\n var _responeDefaultAdvanced = await defaultAdvancedFilter(_filter);\r\n var _endpoint = await GetDashboardKeyEndpoint();\r\n var _advancedFilter = await GetDashboardAdvancedFilter();\r\n var _filterGroupBy = await GetDashboardFilterGroupBy();\r\n var _statusCard = await GetDashboardStatusCard();\r\n var respone = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(_responeDefaultAdvanced),\r\n });\r\n var _mapGroupData = await MapDataEndpoint(respone);\r\n var headData = await MapGroupData(_mapGroupData, _filterGroupBy[0]);\r\n setData(_mapGroupData);\r\n setDashboard(headData);\r\n fetchDataEmployee();\r\n fetchProject();\r\n setDataAdvancedFilter(_advancedFilter);\r\n setDataFilterGroupBy(_filterGroupBy);\r\n setStatusCard(_statusCard);\r\n setEndpoint(_endpoint);\r\n defaultFilterStatus(_filter);\r\n setSelectedFilter(_advancedFilter[0]);\r\n setFilterGroupBy(_filterGroupBy[0]);\r\n setOnLoading(false);\r\n setResponeConfig(responseConfig);\r\n }\r\n async function mapDataOptionFilter(_advancedFilter: any, _filter: any) {\r\n var _dataArray: any[] = [];\r\n _filter.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n return _dataArray;\r\n }\r\n useEffect(() => {\r\n if (filterAttribute && dataAdvancedFilter) {\r\n var _dataArray: any[] = [];\r\n var _dataArray2: any = [];\r\n let _dataArray3: any[] = [];\r\n var _attribute = filterAttribute.items;\r\n var _advancedFilter = dataAdvancedFilter;\r\n _attribute.map((_data: any, idx: any) => {\r\n _dataArray.push(_advancedFilter);\r\n });\r\n for (let i = 0; i < _attribute.length; i++) {\r\n const element = _attribute[i];\r\n var response = _advancedFilter.filter((item: any) => {\r\n if (element.dropdown.name === item.name) {\r\n return item;\r\n }\r\n });\r\n _dataArray2.push(response[0]);\r\n }\r\n // for (let i = 0; i < _attribute.length; i++) {\r\n // const element = _attribute[i];\r\n // var response = _advancedFilter.filter((item: any) => {\r\n // if (element.dropdown.project === item.project) {\r\n // return item;\r\n // }\r\n // });\r\n // _dataArray3.push(response[0]);\r\n // }\r\n let ss: any[] = [];\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n let dd: any[] = [];\r\n for (let j = 0; j < _dataArray2?.length; j++) {\r\n const selected = _dataArray2[j];\r\n if (i !== j) {\r\n for (let k = 0; k < options.length; k++) {\r\n const option = options[k];\r\n if (option.name === selected?.name) {\r\n dd.push(k);\r\n }\r\n }\r\n }\r\n }\r\n ss.push({\r\n idx: i,\r\n data: dd,\r\n });\r\n }\r\n let zz = [];\r\n let isHas = false;\r\n for (let i = 0; i < _dataArray.length; i++) {\r\n const options = _dataArray[i];\r\n const element = ss[i];\r\n let jj: any[] = [];\r\n for (let k = 0; k < options?.length; k++) {\r\n const option = options[k];\r\n for (let j = 0; j < element?.data?.length; j++) {\r\n const qq = element?.data[j];\r\n if (qq === k) {\r\n isHas = true;\r\n }\r\n }\r\n if (!isHas) {\r\n jj.push(option);\r\n }\r\n isHas = false;\r\n }\r\n zz.push(jj);\r\n }\r\n setDataAdvancedFilterList(zz);\r\n }\r\n }, [filterAttribute, dataAdvancedFilter]);\r\n\r\n async function defaultAdvancedFilter(_filterStatus: any) {\r\n var _defaultFilter = await GetDashboardDefaultFilterConFig();\r\n var requestData: any[] = [];\r\n let dataMapping: any = [];\r\n let _dataItemFilter: any = [];\r\n _defaultFilter.map((_data: any, idx: any) => {\r\n let checkStatus: boolean = false;\r\n var _fieldText: any = null;\r\n var _fieldType: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _filterParameter: string = \"\";\r\n _dataItemFilter.push(itemFilter);\r\n if (_data.fieldType === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"d\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment()\r\n .add(parseInt(_data.fieldTextFrom), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment()\r\n .add(parseInt(_data.fieldTextTo), \"days\")\r\n .format(\"DD/MM/yyyy\");\r\n setDates([\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(moment().add(parseInt(_data.fieldTextTo), \"days\")).format(\r\n \"yyyy/MM/DD\"\r\n )\r\n )\r\n ),\r\n ]);\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextFrom), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n moment(\r\n new Date(\r\n moment(\r\n moment().add(parseInt(_data.fieldTextTo), \"days\")\r\n ).format(\"yyyy/MM/DD\")\r\n )\r\n ),\r\n ],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else if (_data.fieldType === \"status\") {\r\n _filterParameter = \"Equals\";\r\n _fieldType = \"t\";\r\n var fieldSpited = _data?.fieldText.split(\";|;\");\r\n const resultCard = _filterStatus.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n return {\r\n value: value,\r\n display: display,\r\n };\r\n });\r\n for (let i = 0; i < fieldSpited.length; i++) {\r\n const element = fieldSpited[i];\r\n for (let j = 0; j < resultCard.length; j++) {\r\n const element2 = resultCard[j];\r\n if (element === element2.display) {\r\n checkStatus = true;\r\n dataMapping.push(element2.value);\r\n }\r\n }\r\n }\r\n if (checkStatus) {\r\n _fieldText = \"\";\r\n dataMapping?.map((_data: any) => (\r\n <>\r\n {dataMapping.length > 1\r\n ? dataMapping?.slice(-1)[0] == _data\r\n ? `${(_fieldText = _fieldText + _data)}`\r\n : `${(_fieldText = _fieldText + _data + \";|;\")}`\r\n : (_fieldText = _fieldText + _data)}\r\n \r\n ));\r\n }\r\n const _itemFilter: any = {\r\n dropdown: {\r\n display: _data.fieldDisplay,\r\n name: _data.fieldCode,\r\n type: _data.fieldType,\r\n },\r\n value: [dataMapping],\r\n };\r\n let _items = filterAttribute.items;\r\n _items.push(_itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n } else {\r\n _filterParameter = \"Like\";\r\n }\r\n requestData.push({\r\n ID: 0,\r\n FieldCode: _data?.fieldCode,\r\n FieldDisplay: _data?.fieldCode,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n return requestData;\r\n }\r\n async function fetchDataEmployee() {\r\n var _employee = await GetAllEmployee();\r\n console.log(\"_employee\", _employee);\r\n\r\n var array: any[] = [];\r\n _employee.map((_data: any) => {\r\n array.push({\r\n NameEn: _data[\"NameEn\"],\r\n NameTh: _data[\"NameTh\"],\r\n });\r\n });\r\n\r\n setEmployeeList([...array]);\r\n }\r\n async function fetchProject() {\r\n var _Project = await GetAllProject();\r\n console.log(\"_Project\", _Project);\r\n\r\n var arrayProject: any[] = [];\r\n _Project.map((_data: any) => {\r\n arrayProject.push({\r\n ProjectName: _data[\"ProjectName\"],\r\n });\r\n });\r\n\r\n setProject([...arrayProject]);\r\n }\r\n async function defaultFilterStatus(_filter: any) {\r\n let _filterStatus: any;\r\n const resultCard = _filter.map((_data: any) => {\r\n const [value, display, defaultValue] = _data.split(\"||\");\r\n _filterStatus = {\r\n value: value,\r\n display: display,\r\n };\r\n return _filterStatus;\r\n });\r\n setItemsStatus(resultCard);\r\n }\r\n function sleep(ms: any) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n async function timeoutHandler() {\r\n await sleep(1);\r\n }\r\n\r\n function globalFilterInput(_data: any) {\r\n if (!filter) {\r\n return _data;\r\n }\r\n const result: any[] = [];\r\n endpoint.map((_endpoint: any) => {\r\n const res = _data.filter((item: any) => {\r\n return item[_endpoint]\r\n .toString()\r\n .toLowerCase()\r\n .includes(filter.toLowerCase());\r\n });\r\n if (res.length >= 1) {\r\n result.push(...res);\r\n }\r\n });\r\n return result;\r\n }\r\n async function advancedSearch(_data: any) {\r\n setOnLoading(true);\r\n console.log(\"_data\", _data, filterAttribute);\r\n\r\n if (filterAttribute?.items[0]?.value?.length === 0) {\r\n return _data;\r\n } else if (filterAttribute?.items[0]?.value?.length !== 0) {\r\n const result: any[] = [];\r\n let _isHasStatus: boolean = false;\r\n filterAttribute.items.map((_dropdown: any, index: number) => {\r\n if (_dropdown.value.length === 0) {\r\n return;\r\n }\r\n var _fieldText: any = null;\r\n var _fieldTextFrom: any = null;\r\n var _fieldTextTo: any = null;\r\n var _fieldType: any = \"t\";\r\n var _filterParameter: string = \"\";\r\n if (_dropdown.dropdown.type === \"status\") {\r\n _isHasStatus = true;\r\n _filterParameter = \"Equals\";\r\n }\r\n if (_dropdown.dropdown.type === \"project\") {\r\n _fieldText = selectedProject;\r\n _filterParameter = \"Equals\";\r\n console.log(\"projectIF\", _fieldText, _filterParameter);\r\n }\r\n if (_dropdown.dropdown.type === \"name\") {\r\n _fieldText = selectedEmployee;\r\n _filterParameter = \"Equals\";\r\n console.log(\"EmployeeIF\", _fieldText, _filterParameter);\r\n } else if (_dropdown.dropdown.type === \"status\") {\r\n _filterParameter = \"Equals\";\r\n let statusValue: any = \"\";\r\n _dropdown.value[0].map((_data: any) => (\r\n <>\r\n {_dropdown.value[0]?.length > 1\r\n ? _dropdown.value[0]?.slice(-1)[0] == _data\r\n ? `${(statusValue = statusValue + _data)}`\r\n : `${(statusValue = statusValue + _data + \";|;\")}`\r\n : (statusValue = statusValue + _data)}\r\n \r\n ));\r\n _fieldText = statusValue;\r\n } else if (_dropdown.dropdown.type === \"date\") {\r\n _filterParameter = \"Equals\";\r\n _fieldText = null;\r\n _fieldTextFrom = moment(_dropdown?.value[0]).format(\"DD/MM/yyyy\");\r\n _fieldTextTo = moment(_dropdown?.value[1]).format(\"DD/MM/yyyy\");\r\n _fieldType = \"d\";\r\n } else {\r\n _fieldText = _dropdown?.value[0];\r\n _filterParameter = \"Like\";\r\n }\r\n result.push({\r\n ID: 0,\r\n FieldCode: _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n FieldDisplay:\r\n _dropdown?.dropdown?.name || _dropdown?.dropdown?.project,\r\n IsExcludeBlankData: true,\r\n FieldType: _fieldType,\r\n IsEquals: false,\r\n FieldText: _fieldText,\r\n FieldTextFrom: _fieldTextFrom,\r\n FieldTextTo: _fieldTextTo,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: null,\r\n FieldTypeFilterDynamic: _fieldType,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: _filterParameter,\r\n indexHideColumn: null,\r\n userPrincipalName: null,\r\n connectionString: \"\",\r\n SecretId: null,\r\n });\r\n });\r\n\r\n var dd = await FilterAdvanceSearch({\r\n FavoritesItem: JSON.stringify(result),\r\n });\r\n var responeTest = await MapDataEndpoint(dd);\r\n return responeTest;\r\n }\r\n setOnLoading(false);\r\n }\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n if (!onLoading && !isFetchData) {\r\n let filteredData = await advancedSearch(data);\r\n filteredData = globalFilterInput(filteredData);\r\n var respone = await MapGroupData(filteredData, filterGroupBy);\r\n setDashboard(respone);\r\n setOnLoading(false);\r\n setIsFetchData(false);\r\n }\r\n }\r\n fetchMyAPI();\r\n }, [selectedFilter, filterGroupBy, keyEnter]);\r\n function handleKeyFilter(event: any) {\r\n setTimeout(\"1000\");\r\n if (event.key === \"Enter\") {\r\n setFilter(ref.current?.value);\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }\r\n }\r\n\r\n function getHeader() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {\r\n setFilter(e.target.value);\r\n // if (!e.target.value) {\r\n // let filteredData = globalFilterInput(data);\r\n // var respone = await MapGroupData(\r\n // filteredData,\r\n // filterGroupBy\r\n // );\r\n // setDashboard(respone);\r\n // }\r\n }}\r\n className=\"set-input-global-dashboard\"\r\n placeholder=\"Global Search\"\r\n onKeyPress={handleKeyFilter}\r\n ref={ref}\r\n /> */}\r\n {/* {\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\r\n }}\r\n /> */}\r\n
\r\n
\r\n
\r\n \r\n {\r\n op?.current?.toggle(e, null);\r\n setOnClickFilter(true);\r\n }}\r\n aria-haspopup\r\n aria-controls=\"overlay_panel\"\r\n className={`set-css-card-filter-adv set-border-css-filter ${\r\n onClickFilter ? \"activeFilter\" : \"\"\r\n }`}\r\n >\r\n
\r\n
\r\n \r\n
\r\n
Filter
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n
\r\n \r\n {(onSelectView === \"1\" || onSelectView === \"3\") && (\r\n
\r\n
group by
\r\n
\r\n {\r\n setFilterGroupBy(e.value);\r\n setIsFetchData(false);\r\n }}\r\n className=\"with-height-css-dd-calendar set-text-css-dashboard\"\r\n optionLabel=\"display\"\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n }\r\n const handleScroll = (e: any) => {\r\n setIsOpenDateFilter(false);\r\n };\r\n\r\n const OverlayPanelTemplate = () => {\r\n return (\r\n
\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\", \"640px\": \"85vw\" }}\r\n style={{ width: \"450px\" }}\r\n className=\"overlaypanel-demo overlay-layout-show-css set-css-border-card-filter\"\r\n >\r\n
\r\n
\r\n Advanced filters\r\n
\r\n {\r\n let _data: any = [];\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n // ref.current.value = \"\";\r\n setKeyEnter(!keyEnter);\r\n setFilter(\"\");\r\n op?.current?.hide();\r\n }}\r\n >\r\n Clear all\r\n
\r\n
\r\n
\r\n {filterAttribute.items.map((_items: any, idx: any) => (\r\n <>\r\n
{}}>\r\n {filterAttribute && dataAdvancedFilterList && (\r\n
\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: e.value,\r\n value: [],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n className=\"set-layout-dd-filter-dashboard\"\r\n optionLabel=\"display\"\r\n placeholder=\"--Please Select--\"\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"status\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setSelectedStatus(e.value);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Select Status\"\r\n filter\r\n className=\"set-layout-dd-filter-dashboard width-100-multi-select\"\r\n />\r\n )}\r\n {(filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"string\" ||\r\n filterAttribute?.items[idx]?.dropdown.length === 0) && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.target.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n placeholder=\"Value\"\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"date\" && (\r\n \r\n \r\n setIsOpenDateFilter(e)}\r\n className={\"custom-date\"}\r\n value={dates}\r\n suffixIcon={null}\r\n style={{ height: \"38px\" }}\r\n separator={}\r\n onCalendarChange={(val) => {\r\n setDates(val);\r\n }}\r\n onChange={(e: any) => {\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: e,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [\r\n moment().startOf(\"month\"),\r\n moment().endOf(\"month\"),\r\n ],\r\n \"This Year\": [\r\n moment().startOf(\"year\"),\r\n moment().endOf(\"year\"),\r\n ],\r\n }}\r\n />\r\n
\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"name\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n let nameValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByLang: any;\r\n if (userData.Lang === \"EN\") {\r\n _dataByLang = _data.NameEn;\r\n } else {\r\n _dataByLang = _data.NameTh;\r\n }\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByLang\r\n ? `${(nameValue = nameValue + _dataByLang)}`\r\n : `${(nameValue =\r\n nameValue + _dataByLang + \";|;\")}`\r\n : (nameValue = nameValue + _dataByLang)}\r\n ;\r\n });\r\n setSelectedEmployee(nameValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n {filterAttribute?.items[idx]?.dropdown?.type ===\r\n \"project\" && (\r\n {\r\n setTimeout(timeoutHandler, 10000);\r\n var projectValue: any = \"\";\r\n e.value?.map((_data: any) => {\r\n var _dataByProject: any;\r\n _dataByProject = _data.ProjectName;\r\n <>\r\n {e.value?.length > 1\r\n ? e.value?.slice(-1)[0] == _dataByProject\r\n ? `${(projectValue =\r\n projectValue + _dataByProject)}`\r\n : `${(projectValue =\r\n projectValue + _dataByProject + \";|;\")}`\r\n : (projectValue =\r\n projectValue + _dataByProject)}\r\n ;\r\n });\r\n setSelectedProject(projectValue);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: filterAttribute.items.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n dropdown: _val.dropdown,\r\n value: [e.value],\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n )}\r\n
\r\n\r\n {idx !== 0 && (\r\n
\r\n {\r\n let _data = filterAttribute.items;\r\n _data.splice(idx, 1);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n {filterAttribute?.items.length < dataAdvancedFilter?.length ? (\r\n {\r\n let _data = filterAttribute.items;\r\n _data.push(itemFilter);\r\n setFilterAttribute((prevState: any) => ({\r\n ...prevState,\r\n items: [..._data],\r\n }));\r\n }}\r\n >\r\n + Add new filter\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n {\r\n setOnClickFilter(false);\r\n op?.current?.hide();\r\n setKeyEnter(!keyEnter);\r\n setIsFetchData(false);\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 return (\r\n <>\r\n {OverlayPanelTemplate()}\r\n
\r\n
\r\n
\r\n
\r\n \r\n Dashboard {\">\"} Project Tracker\r\n \r\n \r\n {\r\n onSetSelectView(\"1\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"2\");\r\n }}\r\n >\r\n \r\n
\r\n {\r\n onSetSelectView(\"3\");\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
{getHeader()}
\r\n {onLoading ? (\r\n
\r\n \"loading...\"\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n {onSelectView === \"1\" && (\r\n \r\n )}\r\n {statusCard !== undefined &&\r\n onSelectView === \"2\" &&\r\n dashboard && (\r\n \r\n )}\r\n {onSelectView === \"3\" && dashboard && (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(DashboardScreen);\r\n","export const GetLogApi = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/log/getlogtextfile\",\r\n\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n PostedDate: dataJson,\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n","import { Input, Space } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { GetLogApi } from \"../../Services/LogApiService\";\r\n\r\nexport const LogApi = () => {\r\n const [postDate, setPostDate] = useState();\r\n const [textLog, setTextLog] = useState();\r\n useEffect(() => {\r\n fetchGetLogApi();\r\n }, []);\r\n\r\n async function fetchGetLogApi() {\r\n var request = postDate;\r\n console.log(\"Before=>PostedDate\", request);\r\n var _Log = await GetLogApi(request);\r\n setTextLog(_Log);\r\n console.log(\"_Log\", _Log);\r\n console.log(\"PostedDate\", request);\r\n }\r\n const { Search } = Input;\r\n return (\r\n
\r\n \r\n {\r\n setPostDate(e.target.value);\r\n }}\r\n />\r\n \r\n
\r\n {textLog?.map((x) => (\r\n

{x}

\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useRef, useEffect } from \"react\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\ninterface Props {\r\n valueProps: any;\r\n}\r\n\r\nexport const EmailTemplateList = (props: Props) => {\r\n const [first, setFirst] = useState(0);\r\n const [rows, setRows] = useState(10);\r\n const [columnsHeader, setcolumnsHeader] = useState([]);\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n const [filters2, setFilters2] = useState();\r\n const history = useHistory();\r\n useEffect(() => {\r\n if (props.valueProps.length !== 0) {\r\n arrayHeader();\r\n _formatDate();\r\n }\r\n }, [props.valueProps]);\r\n\r\n function arrayHeader() {\r\n let array = [];\r\n\r\n for (const [key, value] of Object.entries(props.valueProps[0])) {\r\n if (\r\n key === \"IsActive\" ||\r\n key === \"userPrincipalName\" ||\r\n key === \"connectionString\" ||\r\n key === \"SecretId\" ||\r\n key === \"EmailBody\"\r\n ) {\r\n } else {\r\n array.push({ Header: key, field: key });\r\n }\r\n }\r\n setcolumnsHeader(array);\r\n setSelectedColumns(array);\r\n }\r\n function _formatDate() {\r\n let _data = props.valueProps;\r\n _data.map((data: any) => {\r\n if (data.ModifiedDate !== null && data.ModifiedDate !== null) {\r\n if (data.ModifiedDate.length !== 0) {\r\n data.ModifiedDate = formatDateTime(data.ModifiedDate);\r\n }\r\n }\r\n if (data.CreatedDate !== null && data.CreatedDate !== null) {\r\n if (data.CreatedDate.length !== 0) {\r\n data.CreatedDate = formatDateTime(data.CreatedDate);\r\n }\r\n }\r\n });\r\n }\r\n\r\n function onRowSelect(data: any) {\r\n history.push(\r\n \"/EmailTemplateDetail?EmailTemplateId=\" + data[0].EmailTemplateId\r\n );\r\n }\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columnsHeader.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n const header = (\r\n
\r\n \r\n
\r\n );\r\n const columnComponents = selectedColumns.map((col: any) => {\r\n return (\r\n }\r\n sortable\r\n />\r\n );\r\n });\r\n const formatDateTime = (value: any) => {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n };\r\n return (\r\n <>\r\n onRowSelect(e.value)}\r\n // globalFilterFields={[\"DocumentCode\", \"TemplateName\", \"TemplateSubject\"]}\r\n // filters={filters2}\r\n >\r\n {columnComponents}\r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport { EmailTemplateList } from \"../../../components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { getAllEmailTemplate } from \"../../../Services/EmailTemplateService\";\r\n\r\ntype Props = {};\r\n\r\nconst EmailTemplateListScreen = (props: Props) => {\r\n const [emailTemplate, setEmailTemplate] = useState([]);\r\n\r\n useEffect(() => {\r\n _EmailTemplate();\r\n }, []);\r\n\r\n async function _EmailTemplate() {\r\n let _getEmailTemplate = await getAllEmailTemplate();\r\n _getEmailTemplate.map((data: any) => {\r\n for (const [key, value] of Object.entries(data)) {\r\n if (value === null) {\r\n data[key] = \"\";\r\n }\r\n }\r\n });\r\n setEmailTemplate(_getEmailTemplate);\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 {\"Email Template List\" + \"(\" + emailTemplate.length + \")\"}\r\n

\r\n
\r\n
\r\n\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n );\r\n};\r\nexport default withPerMission(EmailTemplateListScreen);\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n leaveTypeTable: any;\r\n}\r\n\r\nexport default function LeaveTypeComponents(props: Props) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* if master date LR */}\r\n {props.leaveTypeTable?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n

#

\r\n
\r\n

Leave Type

\r\n

ประเภทของการขอลา

\r\n
\r\n

Package

\r\n

จำนวนวันลาตั้งต้น

\r\n
\r\n

Used

\r\n

จำนวนวันลาที่ใช้ไป

\r\n
\r\n

Balance

\r\n

จำนวนวันลาที่เหลืออยู่

\r\n
{idx + 1}{_data.Value2}{(_data.Value3)}{(_data.Value4)}{(_data.Value5)}
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useRef, useMemo } from \"react\";\r\n\r\nimport \"./InformationComponent.css\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Spin, Space } from \"antd\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { CoreControllerComponent } from \"../CoreControllerComponent/CoreControllerComponent\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\n\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport { GetAllProject } from \"../../../Services/ProjectService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport {\r\n GetAllTemplate,\r\n GetTemplateById,\r\n SearchTemplateListEditing,\r\n} from \"../../../Services/TemplateService\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { GetRefDocTemp } from \"../../../Services/MemoService\";\r\nimport { count, log } from \"console\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport { MdPreview } from \"react-icons/md\";\r\nimport { json } from \"stream/consumers\";\r\ninterface Props {\r\n onLoadLineApprove: boolean;\r\n setOnLoadLineApprove: any;\r\n workList?: any;\r\n setFormCategory?: any;\r\n formCategory?: any;\r\n form?: any;\r\n setForm?: any;\r\n getLineApprove: () => any;\r\n getInformationMethodProp: () => any;\r\n setInformationMethodProp: (respone: any) => any;\r\n getInformationTemplateProp: () => any;\r\n getInformationTemplateSetDataProp: any;\r\n setLineApporve: (respone: any) => any;\r\n setListFormName: (respone: any) => void;\r\n setListRefDocsDetail: (respone: any) => void;\r\n errorResult: any;\r\n setOnLoading: any;\r\n errorTable: any;\r\n isLoading: boolean;\r\n requestDetail: any;\r\n setInformationTemplate_Desc: (respone: any) => any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n onLoading: any;\r\n setSummary?: (respone: any) => any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n isTextFromValue: any;\r\n setRequestDetail: any;\r\n leaveTypeTable: any;\r\n checkTypeLeave: any;\r\n isSetCanEdit: boolean;\r\n setIsSetCanEdit: (_state: any) => void;\r\n isCopyProps?: any;\r\n isHideProject: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n branchFromADTitle: any;\r\n isBranchFromADTitle: any;\r\n refTempSelectedProps: any;\r\n refAttibuteProps: any;\r\n}\r\nexport const InformationComponent = (props: Props) => {\r\n const query = new URLSearchParams(useLocation().search);\r\n let location = useLocation();\r\n const [projectData, setProjectData] = useState([]);\r\n const [canEdit, setCanNotEdit] = useState(true);\r\n const [treeTemplate, setTreeTemplate] = useState();\r\n const [companyList, setCompanyList] = useState([]);\r\n const [nameEnCompanyTo, setNameEnCompanyTo] = useState([]);\r\n const [nameEnCompanyCc, setNameEnCompanyCc] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [searchDataCc, setSearchDataCc] = useState([]);\r\n const [searchCompanyData, setSearchCompanyData] = useState([]);\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [subject, setSubject] = useState(\"\");\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [globalFilterValueCc, setGlobalFilterValueCc] = useState(\"\");\r\n const [globalFilterCompanyValue, setGlobalFilterCompanyValue] = useState(\"\");\r\n const [globalFilterRefTempValue, setGlobalFilterRefTempValue] =\r\n useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isDialogVisibleCc, setDialogVisibleCc] = useState(false);\r\n const [isDialogVisibleCompany, setDialogVisibleCompany] = useState(false);\r\n const [isDialogVisibleRefTemp, setDialogVisibleRefTemp] = useState(false);\r\n const [selectProject, setSelectProject] = useState([]);\r\n const [selectedEmployeeTo, setSelectedEmployeeTo] = useState([]);\r\n const [filteredEmployeeTo, setFilteredEmployeeTo] = useState();\r\n const [selectedEmployeeCc, setSelectedEmployeeCc] = useState([]);\r\n const [filteredEmployeeCc, setFilteredEmployeeCc] = useState();\r\n const [refTempSelected, setRefTempSelected] = useState(\r\n props.refTempSelectedProps\r\n );\r\n const [selectFormTemplate, setSelectFormTemplate] = useState([]);\r\n const [searchTemplateListEditing, setSearchTemplateListEditing] =\r\n useState([]);\r\n const [isSearchTemplateEditing, setIsSearchTemplateEditing] =\r\n useState(false);\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const [coreRender, setCoreRender] = useState(true);\r\n const [disabled, setDisabled] = useState(false);\r\n const [onLazyLoad, setOnLazyLoad] = useState(false);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (props.refAttibuteProps) {\r\n setSearchRefDocData([...props.refAttibuteProps.option]);\r\n }\r\n props.setOnLoading(false);\r\n }, [props.refAttibuteProps]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationMethodProp() !== undefined &&\r\n onLazyLoad === false\r\n ) {\r\n checkTextSubject();\r\n checkCanEdit();\r\n }\r\n }, [props.getInformationMethodProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n }, [props.getInformationMethodProp(), props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (\r\n props.getInformationMethodProp().status === \"Draft\" ||\r\n props.getInformationMethodProp().status === \"New Request\" ||\r\n props.getInformationMethodProp().status === \"Rework\" ||\r\n props.getInformationMethodProp().status === \"Recall\"\r\n ) {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n checkCanEdit();\r\n TemplateListEditing();\r\n }\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n // checkRefTemplate();\r\n }\r\n if (props.getInformationMethodProp() !== undefined) {\r\n if (props.getInformationMethodProp().template_desc.length !== 0) {\r\n // checkRefTemplate();\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n fetchDataEmployee();\r\n }\r\n }\r\n\r\n // fetchDataEmployee();\r\n }, [props.getInformationMethodProp()]);\r\n useEffect(() => {\r\n if (searchRefDocData.length > 0) {\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n const refId = query.get(\"RefID\");\r\n let selQuery: any[] = [];\r\n searchRefDocData.map((refDoc: any) => {\r\n if (refDoc.DocumentNo === refId) {\r\n selQuery.push(refDoc);\r\n }\r\n });\r\n\r\n setRefTempSelected([...selQuery]);\r\n }\r\n }\r\n }, [searchRefDocData]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n } else if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length === 0 &&\r\n props.getInformationMethodProp() !== undefined\r\n ) {\r\n getInformation();\r\n setOnLazyLoad(false);\r\n }\r\n }, [props.getInformationTemplateProp()]);\r\n\r\n useEffect(() => {}, [treeTemplate]);\r\n useEffect(() => {\r\n if (companyList.length === 1) {\r\n props.setInformationTemplate_Desc({\r\n company_name: companyList[0].CompanyCodeWithName,\r\n\r\n company_id: companyList[0].CompanyId,\r\n });\r\n }\r\n }, [companyList]);\r\n\r\n function onChanceRef(refTempSelected: any) {\r\n try {\r\n if (props.requestDetail !== undefined && props.requestDetail !== null) {\r\n if (\r\n props.requestDetail.memoDetail !== null &&\r\n props.requestDetail.listFormName[0] !== null\r\n ) {\r\n let listFormName = props.requestDetail.listFormName[0];\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let docsCode: any[] = [];\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n let _listRefDocsDetail: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormName.RefDocColumn);\r\n if (\r\n listFormName.RefTemplate !== \"\" &&\r\n listFormName.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormName.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormName.template_id,\r\n template_Name: listFormName.template_name,\r\n memoSubject: listFormName.subject,\r\n };\r\n const selectedColumn = JSON.parse(refTems.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n docsCode.map((code: any) => {\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel[1];\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n\r\n selectedColumn.items.map(\r\n (selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (selColLabel === _layout.template.label) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (\r\n refTable.label === objTable.Value\r\n ) {\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n }\r\n );\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (props.refAttibuteProps.mode !== \"Single\") {\r\n tableRows = col.ControlValue;\r\n }\r\n selectedColumn.items[\r\n sourceRow\r\n ].layout[0]?.data?.row?.map((row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: \"\" });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n });\r\n\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n valibCol.push(col);\r\n }\r\n });\r\n });\r\n\r\n valibCol.map((col: any) => {\r\n template_desc.items.map((item: any) => {\r\n item.layout.map((_layout: any) => {\r\n if (col.ControlValue !== undefined) {\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n } else {\r\n if (col.Key === _layout.template.label) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n });\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n } else {\r\n let template_desc = JSON.parse(listFormName.AdvanceForm);\r\n props.setListRefDocsDetail([]);\r\n props.setInformationMethodProp(JSON.stringify(template_desc));\r\n }\r\n }\r\n if (props.refAttibuteProps.mode === \"Single\") {\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // props.setOnLoading(false);\r\n // }, [props.refAttibuteProps]);\r\n\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n\r\n window.open(\r\n `${baseUrl}/PreviewTemplate?MemoID=0&template=${selectFormTemplate.TemplateId}&preview`,\r\n \"_blank\"\r\n );\r\n }\r\n function checkTextSubject() {\r\n if (props.getInformationTemplateProp() != undefined) {\r\n if (\r\n props.getInformationMethodProp().subject === undefined ||\r\n props.getInformationMethodProp().subject === null ||\r\n props.getInformationMethodProp().subject.length === 0\r\n ) {\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateSubject,\r\n });\r\n setSubject(props.getInformationTemplateProp().TemplateSubject);\r\n } else if (props.getInformationMethodProp().subject.length !== 0) {\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n setOnLazyLoad(true);\r\n }\r\n }\r\n async function TemplateListEditing() {\r\n if (\r\n props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0\r\n ) {\r\n if (props.requestDetail.listFormName[0].isFormControl) {\r\n let searchTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n let searchTemplateEdit: any;\r\n if (\r\n props.requestDetail.memoDetail.TemplateApproveId !== undefined &&\r\n props.requestDetail.memoDetail.TemplateApproveId !== null &&\r\n props.requestDetail.memoDetail.TemplateApproveId.length !== 0\r\n ) {\r\n searchTemplateEdit = await SearchTemplateListEditing({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n if (\r\n searchTemplateEdit === undefined ||\r\n searchTemplateEdit === null ||\r\n searchTemplateEdit.length === 0\r\n ) {\r\n searchTemplateEdit = await GetTemplateById({\r\n TemplateId: Number(\r\n props.requestDetail.memoDetail.TemplateApproveId\r\n ),\r\n });\r\n }\r\n console.log(\r\n \"searchTemplateEdit\",\r\n searchTemplateEdit,\r\n props.requestDetail.memoDetail\r\n );\r\n\r\n setSelectFormTemplate(\r\n searchTemplateEdit[0] === undefined ||\r\n searchTemplateEdit[0] === null ||\r\n searchTemplateEdit[0].length === 0\r\n ? searchTemplateEdit\r\n : searchTemplateEdit[0]\r\n );\r\n }\r\n\r\n setSearchTemplateListEditing(searchTemplate);\r\n setIsSearchTemplateEditing(true);\r\n }\r\n }\r\n }\r\n\r\n function dataStatusDraftSetDateNew() {\r\n const newDate = new Date();\r\n\r\n props.setInformationTemplate_Desc({\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n });\r\n }\r\n\r\n function checkCanEdit() {\r\n let info = props.getInformationMethodProp();\r\n\r\n if (info.status === \"Completed\" || info.status === \"Reject\") {\r\n setCanNotEdit(true);\r\n } else if (\r\n info.status === \"Draft\" ||\r\n info.status === \"New Request\" ||\r\n info.status === \"Rework\" ||\r\n info.status === \"Recall\"\r\n ) {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(false);\r\n } else {\r\n const detail = props.requestDetail;\r\n if (detail?.listFormName[0]?.ApproverCanEdit) {\r\n props.setIsSetCanEdit(true);\r\n setDisabled(false);\r\n setCanNotEdit(false);\r\n } else {\r\n props.setIsSetCanEdit(true);\r\n\r\n setCanNotEdit(true);\r\n }\r\n }\r\n }\r\n\r\n async function getInformation() {\r\n if (companyList !== [] || employee !== []) {\r\n fetchDataCompany();\r\n fetchDataEmployee();\r\n }\r\n\r\n let info_template = props.getInformationMethodProp();\r\n if (\r\n props.getInformationMethodProp().project === null ||\r\n props.getInformationMethodProp().project === undefined\r\n ) {\r\n props.getInformationMethodProp().project = \"\";\r\n props.setInformationTemplate_Desc({ project: \"\" });\r\n }\r\n if (props.getInformationMethodProp().copyInformation === undefined) {\r\n props.getInformationMethodProp().copyInformation = \"N\";\r\n props.setInformationTemplate_Desc({ copyInformation: \"N\" });\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n if (\r\n props.getInformationTemplateProp() !== undefined &&\r\n props.getInformationTemplateProp() !== null &&\r\n Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ) {\r\n fetchDataTemplateByid();\r\n }\r\n\r\n if (\r\n props.getInformationMethodProp().template_desc.trim() !== \"\" &&\r\n props.getInformationMethodProp().template_desc.trim() !==\r\n props.getInformationTemplateProp().AdvanceForm\r\n ) {\r\n if (\r\n props.getInformationMethodProp().template_id !==\r\n props.getInformationTemplateProp().TemplateId\r\n ) {\r\n props.setInformationMethodProp(\r\n props.getInformationTemplateProp().AdvanceForm\r\n );\r\n props.getInformationMethodProp().subject = \"\";\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n } else {\r\n setTreeTemplate(info_template.template_desc);\r\n\r\n await dataGetInformationMethodProp();\r\n }\r\n } else {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n await dataGetInformationMethodProp();\r\n }\r\n } else if (\r\n props.getInformationMethodProp().memoid !== 0 &&\r\n props.getInformationMethodProp().copyInformation === \"N\"\r\n ) {\r\n templateListFormName();\r\n if (props.getInformationMethodProp().template_detail.length === 0) {\r\n setGuid();\r\n }\r\n props.setInformationTemplate_Desc({\r\n document_set: props.getInformationMethodProp().template_detail,\r\n });\r\n if (props.getInformationMethodProp().status === \"Draft\") {\r\n dataStatusDraftSetDateNew();\r\n }\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n props.setInformationTemplate_Desc({\r\n subject: props.getInformationTemplateProp().TemplateName,\r\n });\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n }\r\n if (\r\n props.getInformationMethodProp().memoid === 0 &&\r\n props.getInformationMethodProp().copyInformation === \"Y\"\r\n ) {\r\n templateListFormName();\r\n dataStatusDraftSetDateNew();\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n setTreeTemplate(props.getInformationTemplateProp().AdvanceForm);\r\n dataGetInformationMethodMemoProp();\r\n } else {\r\n setTreeTemplate(props.getInformationMethodProp().template_desc);\r\n }\r\n setSubject(props.getInformationMethodProp().subject);\r\n // props.setOnLoading(false);\r\n }\r\n }\r\n async function setGuid() {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n await props.setInformationTemplate_Desc({\r\n template_detail: _uuid,\r\n document_set: _uuid,\r\n });\r\n }\r\n async function templateListFormName() {\r\n const dataJson = {\r\n TemplateId: props.requestDetail?.memoDetail.template_id,\r\n };\r\n if (dataJson.TemplateId !== null) {\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n if (\r\n _templateIdListFormName === null ||\r\n _templateIdListFormName === undefined\r\n ) {\r\n _templateIdListFormName = [];\r\n }\r\n props.setListFormName(_templateIdListFormName);\r\n }\r\n }\r\n\r\n async function dataGetInformationMethodProp() {\r\n const newDate = new Date();\r\n let _dataSetInformation: any = {\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status:\r\n location.pathname === \"/PreviewTemplate\"\r\n ? props.getInformationMethodProp().status\r\n : \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n template_detail: uuidv4().replace(/-/g, \"\"),\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n };\r\n await props.setInformationTemplate_Desc(_dataSetInformation);\r\n }\r\n function dataGetInformationMethodMemoProp() {\r\n const newDate = new Date();\r\n props.setInformationTemplate_Desc({\r\n memoid: 0,\r\n request_date: formatDateTimeDataReQuest(newDate),\r\n created_date: formatDateTimeDataReQuest(newDate),\r\n status: \"New Request\",\r\n modified_date: formatDateTimeDataReQuest(newDate),\r\n modified_by: window.localStorage.getItem(\"employeeId\"),\r\n created_by: window.localStorage.getItem(\"employeeId\"),\r\n report_lang: props.getInformationTemplateProp().ReportLang,\r\n\r\n auto_approve_when: props.getInformationTemplateProp().AutoApproveWhen,\r\n\r\n GroupTemplateName: props.getInformationTemplateProp().GroupTemplateName,\r\n template_id: props.getInformationTemplateProp().TemplateId,\r\n\r\n template_name: props.getInformationTemplateProp().TemplateName,\r\n template_code: props.getInformationTemplateProp().DocumentCode,\r\n document_no: \"Auto Generate\",\r\n waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n company_name: \"\",\r\n company_id: 0,\r\n project_id: 0,\r\n project: \"\",\r\n subject: \"\",\r\n amount: \"\",\r\n to: \"\",\r\n pass: \"\",\r\n });\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n \r\n }\r\n body={(rowData) => {\r\n if (rowData.Lang !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n }}\r\n />\r\n );\r\n });\r\n const onGlobalFilterChangeCc = (e: any) => {\r\n const value = e;\r\n const dataEmp = employee;\r\n setGlobalFilterValueCc(value);\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col.field;\r\n if (userData !== undefined) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = field.replaceAll(\"Th\", \"En\");\r\n } else {\r\n field = field.replaceAll(\"En\", \"Th\");\r\n }\r\n }\r\n if (data[field].toLowerCase().indexOf(value.toLowerCase()) !== -1) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDataCc([...data]);\r\n };\r\n const onGlobalFilterCompanyChange = (e: any) => {\r\n const value = e;\r\n const dataCpl = companyList;\r\n setGlobalFilterCompanyValue(value);\r\n const data = dataCpl.filter((data: any) => {\r\n if (\r\n data.CompanyCode?.toLowerCase().includes(value?.toLowerCase()) ||\r\n empData.employeeData.Lang === \"EN\"\r\n ? data.NameEn?.toLowerCase().includes(value?.toLowerCase())\r\n : data.NameTh?.toLowerCase().includes(value?.toLowerCase()) ||\r\n data.AddressEn?.toLowerCase().includes(value?.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchCompanyData([...data]);\r\n };\r\n\r\n // const onGlobalFilterRefTempChange = (e: any) => {\r\n // const value = e;\r\n // const dataOption = props.refAttibuteProps.option;\r\n // setGlobalFilterRefTempValue(value);\r\n // const data = dataOption.filter((data: any) => {\r\n // if (\r\n // data.DocumentNo.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.TemplateName.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n // data.MemoSubject.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n // ) {\r\n // return true;\r\n // }\r\n // });\r\n // setSearchRefDocData([...data]);\r\n // };\r\n useEffect(() => {\r\n try {\r\n if (props.refAttibuteProps !== undefined) {\r\n console.log(\"ref=>\", props.refAttibuteProps.option);\r\n\r\n const dataOption = props.refAttibuteProps.option;\r\n const data = dataOption.filter((data: any) => {\r\n if (\r\n data.DocumentNo.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.TemplateName.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1 ||\r\n data.MemoSubject.toLowerCase().indexOf(\r\n globalFilterRefTempValue.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setSearchRefDocData([...data]);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>\", error);\r\n }\r\n }, [globalFilterRefTempValue]);\r\n\r\n //Test\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n async function fetchData() {\r\n const _project = await GetAllProject();\r\n setProjectData(_project);\r\n }\r\n\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployee(employee);\r\n setSearchData(employee);\r\n setSearchDataCc(employee);\r\n if (\r\n (props.getInformationMethodProp().pass.length !== 0 &&\r\n props.getInformationMethodProp().pass !== undefined) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().CcId.length !== 0)\r\n ) {\r\n let answer_array = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().pass.length !== 0\r\n ? props.getInformationMethodProp().pass.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().CcId.length !== 0\r\n ? props.getInformationTemplateProp().CcId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().pass.length === 0\r\n ? []\r\n : props.getInformationMethodProp().pass.split(\",\")\r\n : props.getInformationMethodProp().pass.split(\",\");\r\n }\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeCc(res);\r\n setNameEnCompanyCc([...dataName]);\r\n\r\n if (props.getInformationMethodProp().pass.length === 0) {\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n }\r\n } else {\r\n setSelectedEmployeeCc([]);\r\n setNameEnCompanyCc([]);\r\n }\r\n // (props.getInformationMethodProp().pass.length !== 0 &&\r\n // props.getInformationMethodProp().pass !== undefined) ||\r\n if (\r\n (props.getInformationMethodProp().to !== undefined &&\r\n props.getInformationMethodProp().to.length !== 0) ||\r\n (Object.keys(props.getInformationTemplateProp()).length !== 0 &&\r\n props.getInformationTemplateProp().ToId.length !== 0)\r\n ) {\r\n let answer_array: any = [];\r\n if (props.getInformationMethodProp().memoid === 0) {\r\n answer_array =\r\n props.getInformationMethodProp().to.length !== 0\r\n ? props.getInformationMethodProp().to.split(\",\")\r\n : Object.keys(props.getInformationTemplateProp()).length !== 0\r\n ? props.getInformationTemplateProp().ToId.length !== 0\r\n ? props.getInformationTemplateProp().ToId.split(\",\")\r\n : []\r\n : [];\r\n } else {\r\n answer_array =\r\n Object.keys(props.getInformationMethodProp()).length !== 0\r\n ? props.getInformationMethodProp().to.length === 0\r\n ? []\r\n : props.getInformationMethodProp().to.split(\",\")\r\n : props.getInformationMethodProp().to.split(\",\");\r\n }\r\n console.log(\"answer_array\", answer_array);\r\n\r\n let dataName: any = [];\r\n let res: any = [];\r\n for (let i = 0; i < employee.length; i++) {\r\n for (let j = 0; j < answer_array.length; j++) {\r\n if (employee[i].NameEn === answer_array[j]) {\r\n if (res.length != 0) {\r\n let _dataFilter = res.filter(\r\n (item: any) => item.NameEn === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n res.push(employee[i]);\r\n }\r\n } else {\r\n res.push(employee[i]);\r\n }\r\n\r\n if (dataName.length !== 0) {\r\n let _dataFilter = dataName.filter(\r\n (item: any) => item === employee[i].NameEn\r\n );\r\n if (_dataFilter.length === 0) {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n } else {\r\n dataName.push(employee[i].NameEn);\r\n }\r\n }\r\n }\r\n }\r\n if (answer_array.length !== res.length) {\r\n let _dataFilter = answer_array.filter((data: any) => {\r\n let _data = res.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n dataName.push(data);\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n res.push(_event);\r\n }\r\n });\r\n }\r\n\r\n setSelectedEmployeeTo(res);\r\n setNameEnCompanyTo([...dataName]);\r\n\r\n if (props.getInformationMethodProp().to.length === 0) {\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n }\r\n // props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n } else {\r\n setSelectedEmployeeTo([]);\r\n setNameEnCompanyTo([]);\r\n }\r\n\r\n const project =\r\n projectData === undefined ||\r\n projectData === null ||\r\n projectData.length === 0\r\n ? await GetAllProject()\r\n : projectData;\r\n\r\n if (\r\n props.getInformationMethodProp().project !== 0 &&\r\n props.getInformationMethodProp().project !== undefined\r\n ) {\r\n const dataFilter = project.filter(\r\n (item: any) =>\r\n item.ProjectName === props.getInformationMethodProp().project\r\n );\r\n\r\n setSelectProject(dataFilter[0]);\r\n }\r\n setProjectData(project);\r\n }\r\n\r\n async function fetchDataTemplateByid() {\r\n const dataJson = {\r\n TemplateId: props.getInformationTemplateProp().TemplateId,\r\n };\r\n\r\n if (!props.isInitialLogic) {\r\n console.log(\"props.isInitialLogic\", props.isInitialLogic);\r\n\r\n props.setOnLoadLineApprove(true);\r\n await fetchDataLineApproveWithTemplate(await GetTemplateById(dataJson));\r\n }\r\n }\r\n\r\n async function fetchDataLineApproveWithTemplate(data: any) {\r\n let localStorageData: any = window.localStorage.getItem(\"userData\");\r\n const userData = JSON.parse(localStorageData);\r\n const _templateByid = data;\r\n const lineApprove = props.getLineApprove();\r\n let Template: any = {};\r\n if (Object.keys(props.getInformationTemplateProp()).length !== 0) {\r\n Template = props.getInformationTemplateProp();\r\n } else {\r\n Template = _templateByid;\r\n }\r\n console.log(\"Template\", Template);\r\n\r\n const dataJson = {\r\n templateForm: Template,\r\n lstTRNLineApprove: [],\r\n VEmployee: userData.employeeData,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n if (lineApprove.length === 0) {\r\n let responeAprovaWithTemplate: any = await GetApprovalByTemplate(\r\n dataJson\r\n );\r\n props.setLineApporve(responeAprovaWithTemplate);\r\n\r\n props.setOnLoading(false);\r\n }\r\n props.setOnLoadLineApprove(false);\r\n }\r\n async function fetchDataCompany() {\r\n let responeCompanyData = await dataCompany();\r\n console.log(\"responeCompanyData\", responeCompanyData);\r\n\r\n if (responeCompanyData.length !== companyList.length) {\r\n setCompanyList(responeCompanyData);\r\n }\r\n setSearchCompanyData(responeCompanyData);\r\n }\r\n function onChangeSubjectMemo(value: any) {\r\n let temp = props.getInformationMethodProp();\r\n let _listRefDocsDetail: any[] = [];\r\n refTempSelected.map((refTems: any) => {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: temp.template_id,\r\n template_Name: temp.template_name,\r\n memoSubject: value,\r\n };\r\n _listRefDocsDetail.push(refDocDetail);\r\n });\r\n props.setListRefDocsDetail(_listRefDocsDetail);\r\n props.setInformationTemplate_Desc({\r\n subject: value,\r\n });\r\n setSubject(value);\r\n }\r\n const formatDateTimeDataReQuest = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCc = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderCompany = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const renderHeaderReftemp = () => {\r\n return (\r\n
\r\n setGlobalFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n fetchDataEmployee();\r\n }\r\n function showModalCompany() {\r\n if (globalFilterCompanyValue != \"\") {\r\n setGlobalFilterCompanyValue(\"\");\r\n }\r\n fetchDataCompany();\r\n setDialogVisibleCompany(!isDialogVisibleCompany);\r\n }\r\n function showModalRefTemp() {\r\n setGlobalFilterRefTempValue(\"\");\r\n setDialogVisibleRefTemp(!isDialogVisibleRefTemp);\r\n }\r\n function showModalCc() {\r\n if (globalFilterValueCc != \"\") {\r\n setGlobalFilterValueCc(\"\");\r\n }\r\n setDialogVisibleCc(!isDialogVisibleCc);\r\n fetchDataEmployee();\r\n }\r\n const onRowSelect = (event: any) => {\r\n let dataName: any[] = nameEnCompanyTo;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n console.log(\"datafilterEmployee\", datafilterEmployee);\r\n\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n console.log(\"dataName\", dataName);\r\n\r\n setSelectedEmployeeTo(dataSelectEmployee);\r\n setNameEnCompanyTo([...dataName]);\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n\r\n setDialogVisible(false);\r\n };\r\n const onRowSelectCc = (event: any) => {\r\n let dataName: any[] = nameEnCompanyCc;\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) => _data.EmployeeId === event.data.EmployeeId\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n dataName.push(event.data.NameEn);\r\n }\r\n setSelectedEmployeeCc(dataSelectEmployee);\r\n setNameEnCompanyCc([...dataName]);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n setDialogVisibleCc(false);\r\n };\r\n const onRowSelectCompany = (event: any) => {\r\n if (\r\n props.getInformationMethodProp().status.trim() === \"Wait for Approve\" ||\r\n props.getInformationMethodProp().status.trim() === \"Completed\"\r\n ) {\r\n } else {\r\n props.getInformationMethodProp().company_id = event.data.CompanyId;\r\n props.getInformationMethodProp().company_name =\r\n event.data.CompanyCodeWithName;\r\n }\r\n setDialogVisibleCompany(false);\r\n };\r\n\r\n const onChangeSelectProject = (data: any) => {\r\n setSelectProject(data);\r\n props.setInformationTemplate_Desc({\r\n project_id: data.ProjectId,\r\n project: data.ProjectName,\r\n });\r\n };\r\n const onChangeSelectFormTemplate = (data: any) => {\r\n setSelectFormTemplate(data);\r\n props.setInformationTemplate_Desc({\r\n TemplateApproveId: data.TemplateId.toString(),\r\n });\r\n };\r\n\r\n const searchEmployeeTo = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeTo(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeToEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeTo];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeToFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const searchEmployeeCc = (event: any) => {\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [...employee];\r\n } else {\r\n _filteredEmployee = employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployeeCc(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeCcEnter = (event: any) => {\r\n let dataSelectEmployee: any[] = [...selectedEmployeeCc];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n setSelectedEmployeeCcFunction(dataSelectEmployee);\r\n }\r\n // setSelectedEmployeeTo(dataSelectEmployee);\r\n // setFilteredEmployeeTo(_event);\r\n };\r\n\r\n const setSelectedEmployeeToFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyTo([...dataName]);\r\n setSelectedEmployeeTo(event);\r\n\r\n props.setInformationTemplate_Desc({ to: dataName.toString() });\r\n };\r\n const setSelectedEmployeeCcFunction = (event: any) => {\r\n let dataName: any[] = [];\r\n event.map((d: any) => dataName.push(d.NameEn));\r\n setNameEnCompanyCc([...dataName]);\r\n setSelectedEmployeeCc(event);\r\n props.setInformationTemplate_Desc({ pass: dataName.toString() });\r\n };\r\n\r\n const rowClassName = () => {\r\n return \"row-pointer\";\r\n };\r\n\r\n return (\r\n <>\r\n {!props.onLoading && (\r\n
\r\n \r\n <>\r\n \r\n \r\n
\r\n

Information

\r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n
\r\n \r\n {props.getInformationMethodProp().memoid === 0 &&\r\n !props.isCopyProps\r\n ? props.getInformationMethodProp().template_code +\r\n \": \" +\r\n props.getInformationMethodProp().template_name\r\n : props.getInformationMethodProp().template_name}\r\n

\r\n \r\n \r\n
\r\n \r\n {locationPathName === \"/PreviewTemplate\" ? null : (\r\n \r\n )}\r\n \r\n\r\n \r\n {locationPathName !== \"/PreviewTemplate\" && (\r\n <> {props.getInformationMethodProp().document_no}\r\n )}\r\n

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

\r\n \r\n
\r\n\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(\r\n props.getInformationMethodProp().request_date\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n

\r\n \r\n *\r\n \r\n
\r\n \r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.isBranchFromADTitle && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n {\r\n console.log(props.isBranchFromADTitle);\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 To\r\n

\r\n \r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeToEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeToFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n \r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n {\r\n if (e.code === \"Enter\") {\r\n searchEmployeeCcEnter(e.target.value);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => setSelectedEmployeeCcFunction(e.value)}\r\n />\r\n \r\n \r\n \r\n
\r\n {!props.isHideProject && (\r\n <>\r\n {props.getInformationMethodProp().project?.length !== 0 ? (\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

โครงการ

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n

\r\n Project\r\n

\r\n

\r\n โครงการ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n {props.getInformationMethodProp().memoid !== 0 ? (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n ) : (\r\n onChangeSelectProject(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\r\n props.getInformationMethodProp().project ==\r\n undefined\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n .length === 0\r\n ? \"Select Project\"\r\n : props.getInformationMethodProp().project\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n )}\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Subject\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 {props.getInformationMethodProp().memoid !== 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n {props.requestDetail.listFormName !== undefined &&\r\n props.requestDetail.listFormName !== null &&\r\n props.requestDetail.listFormName.length !== 0 &&\r\n props.requestDetail.listFormName[0].isFormControl && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\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 onChangeSelectFormTemplate(e.value)\r\n }\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0\r\n ? selectFormTemplate.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"300px\",\r\n }}\r\n disabled={canEdit}\r\n />\r\n {selectFormTemplate !== undefined &&\r\n selectFormTemplate !== null &&\r\n Object.keys(selectFormTemplate).length !== 0 && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n height: \"32px\",\r\n }}\r\n disabledProps={canEdit}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Top\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้างอิง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n {\r\n const urlElelement: any =\r\n window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n\r\n window.open(\r\n `https://${url}/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n {props.leaveTypeTable.length !== 0 &&\r\n props.checkTypeLeave === true && (\r\n \r\n )}\r\n\r\n {treeTemplate !== undefined && (\r\n <>\r\n {props.requestDetail !== undefined && (\r\n <>\r\n {props.isTextFromValue === true && (\r\n <>\r\n \r\n \r\n )}\r\n {props.isTextFromValue === false && (\r\n <>\r\n \r\n props.setInformationMethodProp(e)\r\n }\r\n getInformationTemplateProp={\r\n props.getInformationTemplateProp\r\n }\r\n onLoading={props.onLoading}\r\n setOnLoading={props.setOnLoading}\r\n setSummary={props.setSummary}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.refAttibuteProps?.option.length > 0 && (\r\n <>\r\n {props.refAttibuteProps?.position === \"Bottom\" && (\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

\r\n เอกสารอ้าง\r\n

\r\n \r\n \r\n \r\n \r\n {!canEdit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n options.rowIndex + 1\r\n }\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttibuteProps?.optionLabel ===\r\n \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

\r\n เลขที่เอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n Document No.\r\n

\r\n

\r\n รหัสเอกสาร\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n \r\n \r\n

\r\n Form Template\r\n

\r\n

\r\n ชื่อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

\r\n หัวข้อเอกสาร\r\n

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n\r\n \r\n \r\n {/* \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n {companyList.length !== 0 && (\r\n \r\n \r\n \r\n \r\n

CompanyCode

\r\n

รหัสบริษัท

\r\n \r\n \r\n }\r\n sortable\r\n style={{ width: \"10%\" }}\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n style={{ width: \"20%\" }}\r\n >\r\n \r\n \r\n

Address

\r\n

ที่อยู่

\r\n \r\n \r\n }\r\n style={{ width: \"30%\" }}\r\n >\r\n \r\n \r\n )}\r\n\r\n {\r\n setGlobalFilterRefTempValue(\"\");\r\n }}\r\n onHide={showModalRefTemp}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n draggable={false}\r\n resizable={false}\r\n >\r\n {\r\n if (Array.isArray(e.value)) {\r\n setRefTempSelected([...e.value]);\r\n onChanceRef(e.value);\r\n } else {\r\n let val: any[] = [];\r\n val.push(e.value);\r\n setRefTempSelected([...val]);\r\n onChanceRef(val);\r\n }\r\n }}\r\n selectionMode={\r\n props.refAttibuteProps?.mode === \"Single\"\r\n ? \"radiobutton\"\r\n : \"checkbox\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttibuteProps?.optionLabel !==\r\n \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttibuteProps?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\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","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Grid } from \"antd\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetSignature } from \"../../../Services/MasterDataService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { useLocation } from \"react-router\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n getLineAproveMethodProp: any;\r\n setLineApproveMethodProp: any;\r\n getRequestorDetailProp: any;\r\n dataEmployeeList: any;\r\n signature: any;\r\n onLoading: boolean;\r\n}\r\nconst { useBreakpoint } = Grid;\r\n\r\nconst LineApprovalsComponent: React.FC = (props: Props) => {\r\n const [lineData, setLineData] = useState([]);\r\n const [dataEmployeeList, setdataEmployeeList] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const toast = useRef(null);\r\n const isMounted = useRef(false);\r\n const [globalFilterValue2, setGlobalFilterValue2] = useState(\"\");\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [canEdit, setCanEdit] = useState();\r\n const [sinatures_Seleted, setSinatures_Seleted] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const [isLoading, setIsLoading] = useState(true);\r\n let location = useLocation();\r\n const { lg } = useBreakpoint();\r\n const [locationPathName, setLocationPathName] = useState(\r\n location.pathname\r\n );\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n useEffect(() => {\r\n try {\r\n let responeMemoDetail = props.getRequestorDetailProp;\r\n fetchMasterData();\r\n fetchEmployee();\r\n if (responeMemoDetail.memoDetail.memoid == 0) {\r\n fetchApprovals();\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n } else {\r\n fetchApprovals();\r\n if (responeMemoDetail.listFormName[0].isRequesterEditApproval) {\r\n if (\r\n responeMemoDetail.memoDetail.status === \"Completed\" ||\r\n responeMemoDetail.memoDetail.status === \"Rejected\"\r\n ) {\r\n setCanEdit(false);\r\n } else if (\r\n responeMemoDetail.memoDetail.status === \"Draft\" ||\r\n responeMemoDetail.memoDetail.status === \"Rework\" ||\r\n responeMemoDetail.memoDetail.status === \"Recall\"\r\n ) {\r\n setCanEdit(true);\r\n }\r\n } else {\r\n setCanEdit(responeMemoDetail.listFormName[0].isRequesterEditApproval);\r\n }\r\n }\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n props.setLineApproveMethodProp(lineData);\r\n }, [lineData]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n }, [props.signature]);\r\n\r\n async function fetchApprovals() {\r\n let options: any[] = [];\r\n let signatrue = props.signature;\r\n const responeData = props.getLineAproveMethodProp();\r\n let id = -1;\r\n signatrue.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n id = s.id;\r\n }\r\n options.push({ id: s.id, value1: s.value1, value2: s.value2 });\r\n });\r\n\r\n responeData.map((e: any) => {\r\n if (\r\n e.signature_id === 0 &&\r\n (e.signature_en === null || e.signature_th === null)\r\n ) {\r\n e.signature_id = id;\r\n e.signature_en = \"Approved\";\r\n e.signature_th = \"อนุมัติ\";\r\n } else {\r\n options.map((sig: any) => {\r\n if (sig.id === e.signature_id) {\r\n e.signature_en = sig.value2;\r\n e.signature_th = sig.value1;\r\n }\r\n });\r\n }\r\n });\r\n setDefSignatureID(id);\r\n setSinatureOptions([...options]);\r\n setLineData([...responeData]);\r\n }\r\n\r\n function fetchMasterData() {\r\n props.signature.map((s: any) => {\r\n if (s.value2 === \"Approved\") {\r\n setDefSignatureID(s.id);\r\n }\r\n });\r\n }\r\n\r\n async function fetchEmployee() {\r\n setdataEmployeeList([...props.dataEmployeeList]);\r\n setSearchData([...props.dataEmployeeList]);\r\n }\r\n\r\n function addData(empData: any) {\r\n const raw = lineData;\r\n const lastData = lineData[lineData.length - 1];\r\n let data: IApproverModel = empData;\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: \"Approved\",\r\n signature_id: defSignatureID,\r\n signature_th: \"อนุมัติ\",\r\n };\r\n raw.push(newData);\r\n }\r\n setLineData([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const onGlobalFilterChange2 = (e: any) => {\r\n const value = e;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue2(value);\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n if (empData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n useEffect(() => {\r\n isMounted.current = true;\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowReorder = (e: any) => {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n\r\n setLineData(e.value);\r\n };\r\n\r\n function onSelected_Sinatures(event: any, sinatures: any, rowInx: number) {\r\n let line: any = lineData;\r\n line[rowInx].signature_id = event.value.id;\r\n line[rowInx].signature_th = event.value.value1;\r\n line[rowInx].signature_en = event.value.value2;\r\n setLineData([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEdit) {\r\n let sinatures = sinatures_Seleted;\r\n let selectedValue: any[] = [];\r\n lineData.map((e: any) => {\r\n selectedValue.push({\r\n id: e.signature_id,\r\n value1: e.signature_th,\r\n value2: e.signature_en,\r\n });\r\n });\r\n\r\n return (\r\n onSelected_Sinatures(e, sinatures, option.rowIndex)}\r\n optionLabel={empData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n {rowData.signature_en}\r\n
\r\n );\r\n }\r\n };\r\n\r\n const onRowSelect = (event: any) => {\r\n addData(event.data);\r\n };\r\n\r\n function toggleModal() {\r\n setGlobalFilterValue2(\"\");\r\n setDialogVisible(!isDialogVisible);\r\n }\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineData;\r\n\r\n data.splice(rowIndex, 1);\r\n\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n\r\n setLineData([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n };\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n setIsLoading(true);\r\n moveItem(fromIndex, targetIndex - 1);\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineData !== null ? [...lineData] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineData([...rows]);\r\n setMoveToDialogVisible(false);\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n

Approvals

\r\n {!isLoading && (\r\n <>\r\n {canEdit ? (\r\n <>\r\n toggleModal()}\r\n />\r\n\r\n \r\n {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {/* {dynamicColumns} */}\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n {\r\n return (\r\n <>\r\n
\r\n
\r\n Action\r\n {/* {col.control.template.attribute.require === \"Y\" && (\r\n *\r\n )} */}\r\n
\r\n\r\n {/* \r\n {col.control.template.alter}\r\n */}\r\n
\r\n \r\n );\r\n }}\r\n body={actionBodyTemplate}\r\n exportable={false}\r\n >\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n \r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n />\r\n\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n\r\n \r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n \r\n }\r\n body={statusBodyTemplate}\r\n style={{ flexGrow: 1, flexBasis: \"20%\" }}\r\n />\r\n \r\n \r\n )}\r\n \r\n )}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineData?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponent;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Divider, Input, Space } from \"antd\";\r\nimport \"./RequestorComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { GetApprovalByTemplate } from \"../../../Services/ApprovalService\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\n\r\ninterface Props {\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n canEditDoc: any;\r\n masterEmployee: any;\r\n setLineApproval: any;\r\n isADTitleToPosition: any;\r\n setRequestor: any;\r\n requestor: any;\r\n creator: any;\r\n jsonCondition: any;\r\n lineApproval: any;\r\n onLoadDataLiveApprove: any;\r\n userData: any;\r\n renderSelectedRequestor: any;\r\n t: any;\r\n}\r\n\r\nexport const RequestorComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { Search } = Input;\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [actionAdd, setIsActionAdd] = useState(false);\r\n const [isAdmin, setIsAdmin] = useState(\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false\r\n );\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n mapData();\r\n }, []);\r\n const mapData = () => {\r\n setSearchData([...props.masterEmployee]);\r\n if (props.memoDetail.memoid !== 0) {\r\n setIsActionAdd(true);\r\n }\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp = props.masterEmployee;\r\n\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (props.userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function showModal() {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n\r\n setDialogVisible(!dialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (loading) {\r\n let empData = await GetAllEmployee(req);\r\n setSearchData(empData);\r\n setLoading(!loading);\r\n }\r\n }\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog\"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onRowSelect = async (data: any) => {\r\n if (props.requestor.EmployeeId != data.EmployeeId) {\r\n props.setRequestor(data);\r\n props.setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n requestor: data,\r\n }));\r\n if (props.renderSelectedRequestor) {\r\n props.renderSelectedRequestor(data);\r\n }\r\n }\r\n setDialogVisible(false);\r\n };\r\n\r\n function showSuccess() {\r\n return (\r\n
\r\n

{props.t(\"creator\")}

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

Employee Code

\r\n

รหัสพนักงาน

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

Name

\r\n

ชื่อ

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

Position

\r\n

ตำแหน่ง

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

Division

\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

Department

\r\n

หน่วยงาน

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

Email

\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 useEffect(() => {\r\n console.log({ ss: props.userData });\r\n }, [props.userData]);\r\n\r\n return (\r\n
\r\n {actionAdd && showSuccess()}\r\n \r\n

{props.t(\"Requestor\")}

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

Employee Code

\r\n

รหัสพนักงาน

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

Name

\r\n

ชื่อ

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

Position

\r\n

ตำแหน่ง

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

Division

\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

Department

\r\n

หน่วยงาน

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

Email

\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

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n className={\"showId\"}\r\n body={(rowData: any) => {\r\n return (\r\n \r\n \r\n {rowData.EmployeeCode}\r\n {isAdmin && (\r\n
\r\n )}\r\n
\r\n );\r\n }}\r\n sortable\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\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","import React, { useState, useEffect, useRef } from \"react\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Button } from \"primereact/button\";\r\nimport moment from \"moment\";\r\n\r\nimport { AiFillEye } from \"react-icons/ai\";\r\nimport LogoLoading from \"../../../assets/LoadingWOLFmini.gif\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { BiUpload } from \"react-icons/bi\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport DescriptionConfigComponent from \"./DescriptionConfigComponent\";\r\nimport axios from \"axios\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetPermissionByEmpId } from \"../../../Services/RoleServices\";\r\nimport {\r\n CannotDowLoadPDFDefaultConfiguration,\r\n getUploadFileSettingConfiguration,\r\n} from \"../../../Services/ConfigurationService\";\r\nimport { Badge } from \"antd\";\r\nimport { set } from \"react-hook-form\";\r\ninterface Props {\r\n listFileAttachDetails: any;\r\n setListFileAttachDetails: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n userData: any;\r\n canEditDoc: boolean;\r\n listFormNames: any;\r\n checkActionPage: string;\r\n masterATDLFT: any;\r\n t: any;\r\n}\r\n\r\nconst AttachmentComponent: React.FC = ({\r\n t,\r\n listFileAttachDetails,\r\n setListFileAttachDetails,\r\n setMemoDetail,\r\n memoDetail,\r\n userData,\r\n canEditDoc,\r\n listFormNames,\r\n checkActionPage,\r\n masterATDLFT,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const ref = React.useRef();\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _localStorage.SharepointSiteURL;\r\n let _tinyURL = _localStorage.TinyURL;\r\n const [requestFile, setRequestFile] = useState(null);\r\n\r\n const [deleteVisible, setDeleteVisible] = useState(false);\r\n const [value, setValue] = useState(\"\");\r\n const [visibleStatus, setVisibleStatus] = useState(false);\r\n\r\n const [fileData, setFileData] = useState();\r\n const [pathData, setPathData] = useState();\r\n const [description, setDescription] = useState(\"\");\r\n\r\n const [selectedRows, setSelectedRows] = useState([]);\r\n const [indexState, setIndexState] = useState(0);\r\n const [descriptionRespone, setDescriptionRespone] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [configFile, setConfigFile] = useState({});\r\n useEffect(() => {\r\n console.log(userData, \"userData\");\r\n console.log(_localStorage, \"userData\");\r\n console.log(memoDetail, \"userData\");\r\n console.log(listFileAttachDetails, \"userData\");\r\n fechData();\r\n\r\n const defaultSeq = listFileAttachDetails.map((e: any) =>\r\n listFileAttachDetails.length > 0\r\n ? { name: e.attach_file, seq: e.sequence }\r\n : { name: \"\", seq: 0 }\r\n );\r\n const filterArr = defaultSeq.filter((e: any) => e.seq !== 0);\r\n setSelectedRows(filterArr);\r\n }, []);\r\n\r\n async function fechData() {\r\n const config = await getUploadFileSettingConfiguration();\r\n\r\n setConfigFile(config);\r\n }\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/yyyy HH:mm:ss\");\r\n return moment(momentObj).format(\"DD MMM yyyy\");\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n\r\n const onError = () => {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n };\r\n useEffect(() => {\r\n console.log(masterATDLFT, \"masterATDLFT\");\r\n }, []);\r\n\r\n const onFileSelect = async (e: any) => {\r\n var filename = e.target.value;\r\n var userName = filename.split(\"\\\\\").pop();\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n\r\n setRequestFile(e.target.files);\r\n setFileData(userName);\r\n setPathData(filename);\r\n };\r\n\r\n function deleteFile() {\r\n setListFileAttachDetails(\r\n listFileAttachDetails.filter((_val: any, _idx: number) => {\r\n return _idx !== indexState;\r\n })\r\n );\r\n }\r\n\r\n async function onUploadFile() {\r\n if (requestFile !== null) {\r\n setOnLoading(true);\r\n for (let i = 0; i < requestFile.length; i++) {\r\n const attachWorkList = listFileAttachDetails;\r\n const lastFile = attachWorkList[attachWorkList.length - 1];\r\n const NewDate = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n let newFile = Object.assign({}, lastFile);\r\n const formData = new FormData();\r\n formData.append(`files`, requestFile[i]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", memoDetail.template_detail);\r\n formData.append(\"fileDesc\", description);\r\n formData.append(\"actorID\", userData.EmployeeId);\r\n console.log(formData, \"formData\");\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n if (response.data?.result === true) {\r\n if (_sharepointSiteURL) {\r\n newFile.attach_path =\r\n _sharepointSiteURL + \"\" + response.data.pathUrl;\r\n } else {\r\n newFile.attach_path = response.data.pathUrl;\r\n }\r\n newFile.sequence = 0;\r\n newFile.memo_id = memoDetail.memoid;\r\n newFile.actor = userData;\r\n newFile.attach_date = NewDate;\r\n newFile.attach_file = response.data.fileName;\r\n newFile.is_merge_pdf = false;\r\n newFile.modified_date = NewDate;\r\n newFile.modified_by = userData.EmployeeId.toString();\r\n newFile.description = description;\r\n attachWorkList.push(newFile);\r\n setListFileAttachDetails([...attachWorkList]);\r\n } else {\r\n onError();\r\n }\r\n }\r\n setOnLoading(false);\r\n setRequestFile(null);\r\n setValue(\"\");\r\n setDescription(\"\");\r\n ref.current.value = null;\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n const handleCheckboxChange = (event: any, name: any) => {\r\n if (event.target.checked) {\r\n let _selectedRows = selectedRows;\r\n _selectedRows.push({\r\n name: name,\r\n seq: _selectedRows.length + 1,\r\n });\r\n setSelectedRows([..._selectedRows]);\r\n } else {\r\n let _SecRow = selectedRows\r\n .filter((e) => e.name !== name)\r\n .map((e: any, idx: number) => {\r\n let mergeObj: { name: string; seq: number } = {\r\n name: e.name,\r\n seq: idx + 1,\r\n };\r\n\r\n return mergeObj;\r\n });\r\n\r\n listFileAttachDetails.map((e: any) => {\r\n e.sequence = 0;\r\n });\r\n setSelectedRows(_SecRow);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n selectedRows.map((item: any) => {\r\n listFileAttachDetails.map((e: any) => {\r\n if (e.attach_file === item.name) {\r\n e.sequence = item.seq;\r\n }\r\n });\r\n });\r\n }, [selectedRows, listFileAttachDetails]);\r\n\r\n return (\r\n
\r\n {renderDialog()}\r\n \r\n {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n

{t(\"attachment\")}

\r\n
\r\n <>\r\n
\r\n {t(\"Attach File\")} : \r\n
\r\n onFileSelect(e)}\r\n multiple\r\n className=\"attachForm-border-fttach-file\"\r\n placeholder=\"fdfsd\"\r\n />\r\n {\r\n setVisibleDialog(true);\r\n }}\r\n className=\"set-css-icon-alert-in-upload-file\"\r\n />\r\n
\r\n
\r\n
\r\n {t(\"Description\")} : \r\n
\r\n {\r\n setValue(e.target.value);\r\n setDescription(e.target.value);\r\n }}\r\n className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n \r\n \r\n {t(\"Upload\")}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 && (\r\n <>\r\n

Attached File

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

#

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

Date

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

Attached File

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

Description

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

Operator

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

Merge

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

Action

\r\n
\r\n
\r\n {listFileAttachDetails?.length > 0 &&\r\n listFileAttachDetails.map((attachData: any, idx: number) => (\r\n
\r\n
\r\n

{idx + 1}

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

{convertDate(attachData.attach_date)}

\r\n
\r\n
\r\n <>\r\n {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _tinyURL = _tinyURL + \":\" + _port;\r\n }\r\n }\r\n var link = \"\";\r\n const protocol = window.location.protocol;\r\n const attachPath = attachData.attach_path\r\n ? attachData.attach_path.charAt(0) !== \"/\"\r\n ? \"/\" + attachData.attach_path\r\n : attachData.attach_path\r\n : \"\";\r\n const splitPath =\r\n attachData.attach_path.split(\"/\") || [];\r\n console.log(_sharepointSiteURL, \"att=>\");\r\n const cannotDownloadPdfAppSetting =\r\n await CannotDowLoadPDFDefaultConfiguration();\r\n if (!_sharepointSiteURL) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log(\"att=>!_sharepointSiteURL\", {\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n console.log(\r\n cannotDownloadPdfAppSetting,\r\n \"cannotDownloadPdfAppSetting\"\r\n );\r\n }\r\n //_sharepointSiteURL\r\n else {\r\n const rootPath = splitPath[5] || \"\";\r\n const docPath = splitPath[6] || \"\";\r\n const fullName = splitPath[7] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(\r\n lastIndex + 1\r\n );\r\n const name = fullName.substring(0, lastIndex);\r\n link = attachPath;\r\n console.log(\"att=>\", {\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n console.log({\r\n link,\r\n });\r\n link =\r\n attachPath.charAt(0) === \"/\"\r\n ? attachPath.substring(1)\r\n : attachPath;\r\n const checkCanDownload =\r\n listFormNames?.RefDocDisplay?.split(\",\");\r\n const checkCanDownloadAttach =\r\n checkCanDownload?.length >= 5\r\n ? checkCanDownload[5]\r\n : \"\";\r\n let checkDLAttach = false;\r\n if (masterATDLFT) {\r\n const downloadFileType =\r\n masterATDLFT.Value1.split(\",\");\r\n if (downloadFileType?.length > 0) {\r\n downloadFileType.map((fileType: any) => {\r\n if (\r\n link.toLowerCase().endsWith(fileType)\r\n ) {\r\n checkDLAttach = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n const response = await GetPermissionByEmpId({\r\n EmployeeId: userData.EmployeeId,\r\n });\r\n let checkRoleId = false;\r\n for (let i = 0; i < response.length; i++) {\r\n const element = response[i];\r\n if (element?.roleId === 1) {\r\n checkRoleId = true;\r\n break;\r\n } else {\r\n checkRoleId = false;\r\n }\r\n }\r\n\r\n if (checkRoleId) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (checkDLAttach) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n memoDetail?.Permission?.AttachDownload === \"F\"\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (\r\n checkCanDownloadAttach?.toLowerCase() ===\r\n \"yes\" &&\r\n checkActionPage === \"add\"\r\n ) {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n } else if (\r\n cannotDownloadPdfAppSetting?.cannotDowLoadPDFDefault\r\n ) {\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(link, \"_blank\", \"noreferrer\");\r\n }\r\n console.log(\r\n cannotDownloadPdfAppSetting,\r\n \"cannotDownloadPdfAppSetting\"\r\n );\r\n console.log(response, \"response\");\r\n console.log(checkDLAttach, \"checkDLAttach\");\r\n console.log(masterATDLFT, \"masterATDLFT\");\r\n }\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {attachData.attach_file}\r\n \r\n \r\n
\r\n
\r\n

{attachData.description}

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

\r\n {userData.Lang === \"EN\"\r\n ? attachData.actor.NameEn\r\n : attachData.actor.NameTh}\r\n

\r\n
\r\n
\r\n {attachData?.attach_file\r\n .toLowerCase()\r\n .endsWith(\"pdf\") ? (\r\n
\r\n e.name === attachData.attach_file\r\n )?.seq\r\n }\r\n size=\"small\"\r\n >\r\n {\r\n let _listAttach = listFileAttachDetails;\r\n _listAttach[idx].is_merge_pdf = e.checked;\r\n _listAttach[idx].modified_date = moment(\r\n new Date()\r\n ).format(\"DD/MM/YYYY HH:mm:ss\");\r\n setListFileAttachDetails([..._listAttach]);\r\n handleCheckboxChange(\r\n e,\r\n attachData.attach_file\r\n );\r\n }}\r\n checked={\r\n listFileAttachDetails[idx].is_merge_pdf\r\n }\r\n >\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {canEditDoc ? (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(attachData.description);\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n ) : (\r\n listFormNames.ApproverCanEdit === false &&\r\n userData.EmployeeId === attachData.actor.EmployeeId && (\r\n
\r\n {\r\n setIndexState(idx);\r\n setDescriptionRespone(\r\n attachData.description\r\n );\r\n setVisibleStatus(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n setIndexState(idx);\r\n setDeleteVisible(true);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n
\r\n )\r\n )}\r\n
\r\n ))}\r\n
\r\n \r\n )}\r\n
\r\n
\r\n setDeleteVisible(false)}\r\n message=\"Are you sure to Delete this File?\"\r\n header=\"Delete Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n acceptClassName=\"p-button-danger\"\r\n accept={deleteFile}\r\n reject={() => setDeleteVisible(false)}\r\n />\r\n {visibleStatus == true && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AttachmentComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { AiOutlineApartment, AiOutlineHistory } from \"react-icons/ai\";\r\nimport { BsPerson } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { ImAttachment } from \"react-icons/im\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n requestData?: any\r\n}\r\nconst RequestSideBarElement = (props: Props) => {\r\n const [sidebar, setSidebar] = useState([]);\r\n const [sidebarM, setSidebarM] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const SideBarData = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"Requestor\")!}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"information\")!}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"lineApprovals\")!}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"attachment\")!}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataResponsive = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={1}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n title={\"\"}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={3}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={4}\r\n title={\"\"}\r\n curPage={props.curPage}\r\n />\r\n } \r\n />\r\n \r\n ),\r\n },\r\n ];\r\n if (props.workList !== undefined && props.workList !== 0) {\r\n SideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={t(\"history\")!}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n children={null}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n SideBarDataResponsive.push({\r\n component: (\r\n props.onSelectView(e)}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n title={\"\"}\r\n />\r\n }\r\n />\r\n ),\r\n });\r\n }\r\n setSidebar([...SideBarData]);\r\n setSidebarM([...SideBarDataResponsive]);\r\n }, [props.workList, props.curPage, t]);\r\n\r\n return (\r\n <>\r\n
\r\n {sidebar.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n
\r\n
\r\n {sidebarM.map((data, idx) => (\r\n
\r\n {data.component}\r\n
\r\n ))}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default RequestSideBarElement;\r\n","import React, { useRef, useState } from \"react\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n type: string;\r\n // onUpdate: (\r\n // data: any,\r\n // comment?: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => any;\r\n pageName: string;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n buttonType: any;\r\n setButtonType: any;\r\n setSelectedView: any;\r\n setCurPage: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoSingleButton = (props: Props) => {\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n {props.type === \"submit\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Submit\")}

\r\n \r\n )}\r\n {props.type === \"draft\" && (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"draft\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n )}\r\n {commentStatus === true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { GetAllDynamic } from \"./DynamicService\";\r\nimport { GetRolePermission } from \"./RoleServices\";\r\n\r\nexport const GetAllAuthorized = async () => {\r\n const respone = await fetch(\"api/Authorized/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetMemoAuthorized = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermission\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const GetMemoAuthorizedViewAndPrint = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermissionViewAndPrint\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const RegisterWolfAccount = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Authentication/RegisterWolfAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const CheckRolePermission = async (EmployeeId: number) => {\r\n let isAdmin: boolean = false;\r\n let permissions: any[] = await GetRolePermission();\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n if (permissions) {\r\n let thispermiss = permissions.filter(\r\n (permiss: any) => permiss.EmployeeId === EmployeeId\r\n );\r\n\r\n roles?.forEach((role: any) => {\r\n thispermiss.forEach((permis: any) => {\r\n if (permis.IsDelete !== true) {\r\n if (permis.RoleId === role.RoleId) {\r\n if (role.RoleId === 1) {\r\n isAdmin = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return isAdmin;\r\n};\r\n","import React, { useRef, useState, useEffect, useMemo } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\n\r\nimport { Button, Spin, Modal, Popover } from \"antd\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport \"./index.css\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\n// import { MemoButtonetcComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CoreControllerComponent } from \"../../components/RequestComponents/CoreControllerComponent/CoreControllerComponent\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IListApprovalDetailsModel } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IActorModel } from \"../../IRequestModel/IActorModel\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { on } from \"events\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n GetRefDocTemp,\r\n} from \"../../Services/MemoService\";\r\n\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n} from \"../../Services/TemplateService\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\n\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { json } from \"stream/consumers\";\r\nimport {\r\n GetAutoNumber,\r\n GetSaveRunningNumber,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetMemoAuthorized } from \"../../Services/AuthorizedService\";\r\nimport {\r\n GetLeaveTemplate,\r\n GetLeaveTemplateByEmpId,\r\n GetMasterDataFieldInfo,\r\n GetSignature,\r\n} from \"../../Services/MasterDataService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetApprovalByTemplate } from \"../../Services/ApprovalService\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\n\r\ninterface Props {}\r\n\r\nexport const RequestScreen = (props: Props) => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [templateId, setTtemplateId] = useState();\r\n const [memoId, setMemoId] = useState();\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [selectedView, setSelectedView] = useState(\"2\");\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [curPage, setCurPage] = useState(\"2\");\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [listFormNameState, setListFormNameState] = useState();\r\n const location = useLocation();\r\n const [isSetCanEdit, setIsSetCanEdit] = useState(false);\r\n // const query = new URLSearchParams(useLocation().search);\r\n const [templateTree, setTemplateTree] = useState({});\r\n const [check, setCheck] = useState(\"\");\r\n const [requestDetail, setRequestDetail] = useState();\r\n const [imgLoading, setImgLoading] = useState(null);\r\n const [errorResult, setErrorResult] = useState([]);\r\n const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n const [errorTable, setErrorTable] = useState([]);\r\n const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n const [showControl, setShowControl] = useState([]);\r\n const [isActionPdf, setIsActionPdf] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState(\"\");\r\n const [isTextFromValue, setIsTextFromValue] = useState();\r\n const [isCopyValue, setIsCopyValue] = useState(false);\r\n const [isShowPdfButton, setIsShowPdfButton] = useState(true);\r\n const [requestorId, setRequestorId] = useState();\r\n const [checkTypeLeave, setCheckTypeLeave] = useState(false);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [sinatureOptions, setSinatureOptions] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [listLogicData, setListLogicData] = useState([]);\r\n const [onLoadLineApprove, setOnLoadLineApprove] = useState(false);\r\n\r\n const [previewTemplate, setPreviewTemplate] = useState(false);\r\n const [isHideProject, setIsHideProject] = useState(false);\r\n const [branchFromADTitle, setBranchFromADTitle] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [activeADTitleToPosition, setActiveADTitleToPosition] = useState();\r\n const [isActiveADTitleToPosition, setIsActiveADTitleToPosition] =\r\n useState(false);\r\n const toast = useRef(null);\r\n const { search } = useLocation();\r\n var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n var userData = respone.employeeData;\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttibute, setRefAttibute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n let history = useHistory();\r\n let memoPageModel: IMemoPageModel = {\r\n listApprovalDetails: [],\r\n listFormName: [],\r\n listFileAttachDetails: [],\r\n listHistoryDetails: [],\r\n listControlRunning: [],\r\n listRefDocDetails: [],\r\n // HistoryView: [],\r\n // listActionButtonDetails: [],\r\n // listCompany: [],\r\n // listLogic: [],\r\n // listLogicloaddata: null,\r\n // listProject: [],\r\n // listSignatureWording: [],\r\n memoDetail: {\r\n GroupTemplateName: \"\",\r\n actor: userData,\r\n TemplateApproveId: \"\",\r\n requestor: userData,\r\n amount: \"\",\r\n memoid: 0,\r\n\r\n approver_can_edit: false,\r\n auto_approve: false,\r\n auto_approve_when: \"\",\r\n comment: \"\",\r\n company_id: 0,\r\n company_name: \"\",\r\n costcenter: \"\",\r\n created_by: \"\",\r\n created_date: \"\",\r\n creator: userData,\r\n current_approval_level: 0,\r\n department_id: 0,\r\n document_library: \"\",\r\n document_no: \"\",\r\n document_set: \"\",\r\n is_editable: false,\r\n is_public: false,\r\n is_text_form: false,\r\n last_action_by: \"\",\r\n last_status_id: 0,\r\n last_status_name: \"\",\r\n location: \"\",\r\n modified_by: \"\",\r\n modified_date: \"\",\r\n pass: \"\",\r\n project: \"\",\r\n project_id: 0,\r\n report_lang: \"\",\r\n request_date: \"\",\r\n status_id: 0,\r\n status: \"\",\r\n subject: \"\",\r\n template_code: \"\",\r\n template_desc: \"\",\r\n template_detail: \"\",\r\n template_id: 0,\r\n template_name: \"\",\r\n to: \"\",\r\n waiting_for: \"\",\r\n waiting_for_id: 0,\r\n copyInformation: \"N\",\r\n },\r\n };\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n useEffect(() => {\r\n setImgLoading(LogoLoading);\r\n fetchMasterData();\r\n fetchEmployee();\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n requestDetail?.memoDetail?.amount &&\r\n requestDetail?.memoDetail?.amount !== \"0.00\" &&\r\n requestDetail?.memoDetail?.memoid === 0\r\n ) {\r\n fetchLineApproveWithSummary();\r\n }\r\n }, [requestDetail?.memoDetail?.amount]);\r\n\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n } else {\r\n setSidebarState(true);\r\n }\r\n }\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n setShowControl([]);\r\n\r\n queryData();\r\n }, [query]);\r\n const fetchLineApproveWithSummary = async () => {\r\n const dataJson = {\r\n templateForm: requestDetail?.listFormName[0],\r\n lstTRNLineApprove: [],\r\n VEmployee: userData,\r\n Amount: requestDetail?.memoDetail?.amount,\r\n };\r\n\r\n let responeAprovaWithTemplate = await GetApprovalByTemplate(dataJson);\r\n\r\n let newData: IListApprovalDetailsModel[] = [];\r\n if (responeAprovaWithTemplate.length > 0) {\r\n newData = responeAprovaWithTemplate;\r\n } else {\r\n newData = requestDetail?.listApprovalDetails!;\r\n }\r\n };\r\n async function queryData() {\r\n let _templateId: any;\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n _templateId = await fetchTemplateDocTypeCode(query.get(\"DocTypeCode\"));\r\n console.log(\"_templateid\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n console.log(\"_templateid2\", _templateId);\r\n setTtemplateId(_templateId);\r\n }\r\n if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n let memoid = Number(query.get(\"MemoID\"));\r\n\r\n onCheckPermission(memoid);\r\n setMemoId(memoid);\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n setIsCopyValue(true);\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n setPreviewTemplate(true);\r\n }\r\n }\r\n const onCheckPermission = async (memoid: any) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n console.log(\"responseCheck\", request);\r\n\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"responseCheck\", response);\r\n };\r\n useEffect(() => {\r\n if (memoId !== undefined) {\r\n let templateCode: any = \"\";\r\n setOnLoading(true);\r\n fetchTemplate().then(async (_listFormName) => {\r\n setListFormNameState(_listFormName);\r\n let _memoPageModel: any = memoPageModel;\r\n _memoPageModel.listFormName = [_listFormName];\r\n setIsSetCanEdit(false);\r\n setRequestorId(memoPageModel.memoDetail.requestor.EmployeeId);\r\n // if (_memoPageModel.listFormName[0] === null) {\r\n // window.location.href = \"/UnAuthorize\";\r\n // console.log(_memoPageModel, \"_memoPageModel\");\r\n // }\r\n if (memoId === 0) {\r\n setIsInitialLogic(false);\r\n\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _template: any = await GetTemplateById(dataJson);\r\n await onLoadLogic(templateId);\r\n if (!_template) {\r\n return;\r\n }\r\n console.log(dataJson, \"_templateid\");\r\n console.log(_template, \"_templateid\");\r\n let empid: any = userData.EmployeeId;\r\n\r\n console.log(\"_respone_respone\", _respone);\r\n const emp_authorize: any =\r\n _template?.SpecificEmployeeId?.length > 0\r\n ? _template?.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template?.SpecificRoleID?.length > 0\r\n ? _template?.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize =\r\n emp_authorize.length > 0 || role_authorize.length > 0\r\n ? false\r\n : true;\r\n let isRoleAuthorize =\r\n role_authorize.length > 0 || emp_authorize.length > 0\r\n ? false\r\n : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId && !role.IsDelete) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n roles,\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n console.log(\"_memoPageModel\", _memoPageModel);\r\n _memoPageModel.memoDetail.status =\r\n previewTemplate === true ? \"New Request\" : \"\";\r\n\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setCheck(\"add\");\r\n setErrorResult([]);\r\n setRequestDetail(_memoPageModel);\r\n setTemplateTree(_memoPageModel.listFormName[0]);\r\n setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // if (previewTemplate) {\r\n // var editDataMemoDetail = _memoPageModel.memoDetail;\r\n // editDataMemoDetail.memoid = 0;\r\n // editDataMemoDetail.status = \"New Request\";\r\n // editDataMemoDetail.document_no = \"Auto Generate\";\r\n // editDataMemoDetail.copyInformation = \"Y\";\r\n\r\n // console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: editDataMemoDetail,\r\n // }));\r\n // }\r\n\r\n templateCode = _memoPageModel.listFormName[0].DocumentCode;\r\n replaceTitleInfo(_memoPageModel, \"add\");\r\n } else if (memoId !== 0) {\r\n setIsInitialLogic(true);\r\n\r\n var _respone: any = await fechMemoDetail();\r\n let empid: any = userData.EmployeeId;\r\n const dataJson = {\r\n TemplateId: _respone.memoDetail.template_id,\r\n };\r\n console.log(\"dataJson\", dataJson);\r\n\r\n let _template: any = await GetTemplateById(dataJson);\r\n console.log(\"ddddddddddddddddddddddddddddddddddddd\", _template);\r\n await onLoadLogic(_respone.memoDetail.template_id);\r\n setListFormNameState(_template);\r\n const emp_authorize: any =\r\n _template.SpecificEmployeeId !== undefined &&\r\n _template.SpecificEmployeeId !== null &&\r\n _template.SpecificEmployeeId?.length > 0\r\n ? _template.SpecificEmployeeId?.split(\",\").map(Number)\r\n : [];\r\n const role_authorize: any =\r\n _template.SpecificRoleID !== undefined &&\r\n _template.SpecificRoleID !== null &&\r\n _template.SpecificRoleID?.length > 0\r\n ? _template.SpecificRoleID?.split(\",\").map(Number)\r\n : [];\r\n let isEmpAuthorize = emp_authorize.length > 0 ? false : true;\r\n let isRoleAuthorize = role_authorize.length > 0 ? false : true;\r\n console.log(\r\n \"role\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n for (let j = 0; j < emp_authorize.length; j++) {\r\n const _emp_authorize_id = emp_authorize[j];\r\n if (_emp_authorize_id === empid) {\r\n isEmpAuthorize = true;\r\n }\r\n }\r\n const roles = await GetRolePermission();\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === empid) {\r\n for (let j = 0; j < role_authorize.length; j++) {\r\n const _role_authorize = role_authorize[j];\r\n if (_role_authorize === role.RoleId) {\r\n isRoleAuthorize = true;\r\n }\r\n }\r\n }\r\n }\r\n console.log(\r\n \"role2\",\r\n isRoleAuthorize,\r\n role_authorize,\r\n _template,\r\n emp_authorize,\r\n isEmpAuthorize\r\n );\r\n if (!isEmpAuthorize && !isRoleAuthorize) {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n\r\n fechMemoButton();\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setErrorResult([]);\r\n _respone[\"listFormName\"] = [_template];\r\n _respone[\"listControlRunning\"] = [];\r\n templateCode = _respone.memoDetail.template_code;\r\n\r\n if (_respone.memoDetail.Permission !== null) {\r\n const permission: any = _respone.memoDetail.Permission;\r\n if (permission.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (permission.Print === \"F\") {\r\n setIsShowPdfButton(false);\r\n }\r\n }\r\n console.log(\"_respone_respone_respone_respone_respone\", _respone);\r\n // setRequestDetail(_respone);\r\n\r\n if (isCopyValue) {\r\n setCheck(\"add\");\r\n var editDataMemoDetail = _respone.memoDetail;\r\n editDataMemoDetail.memoid = 0;\r\n editDataMemoDetail.status = \"New Request\";\r\n editDataMemoDetail.document_no = \"Auto Generate\";\r\n editDataMemoDetail.copyInformation = \"Y\";\r\n editDataMemoDetail.creator = empData.employeeData;\r\n editDataMemoDetail.requestor = empData.employeeData;\r\n console.log(\"editDataMemoDetail\", editDataMemoDetail);\r\n\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: editDataMemoDetail,\r\n listHistoryDetails: [],\r\n listFileAttachDetails: _respone.listFileAttachDetails,\r\n listApprovalDetails: _respone.listApprovalDetails,\r\n listRefDocDetails: _respone.listRefDocDetails,\r\n listFormName: _respone.listFormName,\r\n listControlRunning: _respone.listControlRunning,\r\n }));\r\n } else if (!isCopyValue) {\r\n setRequestDetail(_respone);\r\n setCheck(\"edit\");\r\n replaceTitleInfo(_respone, \"edit\");\r\n }\r\n }\r\n checkLeaveRequestTemplate(templateCode);\r\n });\r\n }\r\n }, [memoId, templateId]);\r\n\r\n useEffect(() => {\r\n if (\r\n requestDetail?.listFormName[0] !== undefined &&\r\n requestDetail?.listFormName[0] !== null\r\n ) {\r\n checkRefTemplate(requestDetail?.listFormName[0]);\r\n }\r\n }, [requestDetail?.listFormName]);\r\n\r\n async function checkRefTemplate(_template: any) {\r\n const temp = _template;\r\n try {\r\n if (temp !== undefined && temp !== null) {\r\n if (temp?.RefDocDisplay !== null) {\r\n console.log(\"ref=>temp\", temp);\r\n let _refDoc: any[] = [];\r\n const dataRequest = {\r\n template_ID: temp?.TemplateId,\r\n ConnectionString: \"\",\r\n UserPrincipalName: \"\",\r\n };\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n let refDoc = await GetRefDocTemp(dataRequest);\r\n console.log(\"ref=>refDoc\", refDoc);\r\n refDoc.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.MAdvancveForm);\r\n refTemp.items.map((col: any) => {\r\n col.layout.map((_layout: any) => {\r\n if (_layout.template.label === display[2]) {\r\n if (\r\n _layout.data.value !== null &&\r\n _layout.data.value !== \"\"\r\n ) {\r\n ref[display[2]] = _layout.data.value;\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n });\r\n console.log(\"ref=>display\", display);\r\n\r\n let refObject: any = {\r\n option: _refDoc,\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel: display[2],\r\n };\r\n\r\n if (memoPageModel?.listRefDocDetails?.length > 0) {\r\n const refDocsDetail = memoPageModel?.listRefDocDetails;\r\n const results = refObject.option.filter((refDoc: any) =>\r\n refDocsDetail.some(\r\n (docDetail: any) => docDetail.doc_no === refDoc.DocumentNo\r\n )\r\n );\r\n setRefTempSelected(results);\r\n }\r\n setSearchRefDocData([..._refDoc]);\r\n setRefAttibute(refObject);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttibute(undefined);\r\n }\r\n }\r\n setOnLoading(false);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n setOnLoading(false);\r\n }\r\n }\r\n\r\n async function replaceTitleInfo(respone: any, action: any) {\r\n console.log(respone, \"ADTitleConfiguration/\");\r\n console.log(action, \"ADTitleConfiguration/\");\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n if (action === \"add\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n } else if (action === \"edit\") {\r\n setBranchFromADTitle(respone?.memoDetail?.requestor?.ADTitle);\r\n }\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle.activeADTitleToPosition.toLowerCase() === \"true\") {\r\n if (respone?.memoDetail?.requestor.ADTitle) {\r\n setIsActiveADTitleToPosition(true);\r\n }\r\n }\r\n var _respone = await GetMasterDataFieldInfo();\r\n console.log(_respone, \"_respone\");\r\n if (_respone.length > 0) {\r\n if (_respone[0].Value4?.toLowerCase() === \"true\") {\r\n if (_respone[0]?.Value3) {\r\n setIsHideProject(true);\r\n const _display = _respone[0].Value1.split(\"|\");\r\n const _dataReplace = _respone[0].Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n async function checkLeaveRequestTemplate(templateCode: string) {\r\n var respone = await GetLeaveTemplate();\r\n let _leaveTemplate: any = respone;\r\n if (_leaveTemplate) {\r\n for (let index = 0; index < _leaveTemplate.length; index++) {\r\n if (_leaveTemplate[index].Value1 === templateCode) {\r\n setCheckTypeLeave(true);\r\n } else {\r\n setCheckTypeLeave(false);\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n async function fetchLeaveTemplate() {\r\n console.log(checkTypeLeave, \"checkTypeLeave\");\r\n console.log(requestorId, \"requestorId\");\r\n if (checkTypeLeave) {\r\n var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n console.log(_responeData, \"_responeData\");\r\n setLeaveTypeTable(_responeData);\r\n } else {\r\n setLeaveTypeTable([]);\r\n }\r\n }\r\n fetchLeaveTemplate();\r\n }, [requestorId, checkTypeLeave]);\r\n\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n const fetchTemplate = async () => {\r\n const dataJson = {\r\n TemplateId: templateId,\r\n };\r\n let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n console.log(_templateIdListFormName, \"_memoPageModel\");\r\n console.log(memoId, \"_memoPageModel\");\r\n checkRefTemplate(_templateIdListFormName);\r\n if (_templateIdListFormName === null && memoId === 0) {\r\n history.push(\"/UnAuthorize\");\r\n return;\r\n }\r\n return _templateIdListFormName;\r\n };\r\n async function fetchTemplateDocTypeCode(DocumentCode: any) {\r\n let _data = await GetTemplateByDocTypeCode({\r\n DocumentCode: DocumentCode,\r\n });\r\n\r\n if (_data) {\r\n return _data.TemplateId;\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n }\r\n\r\n async function fetchMasterData() {\r\n let options: any[] = [];\r\n let signatrue = await GetSignature();\r\n signatrue.map((s: any) => {\r\n options.push({ id: s.masterId, value1: s.value1, value2: s.value2 });\r\n });\r\n setSinatureOptions([...options]);\r\n }\r\n\r\n const fechMemoDetail = async () => {\r\n setOnLoading(true);\r\n const requestBody = {\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n actor: userData,\r\n };\r\n let _respone = await GetMemoDetailById(requestBody);\r\n setIsTextFromValue(_respone.memoDetail.is_text_form);\r\n setTextFromValue(_respone.memoDetail.template_desc);\r\n return _respone;\r\n };\r\n\r\n async function fetchEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n function setSummary(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n amount: respone,\r\n },\r\n }));\r\n }\r\n function setRequestor(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n requestor: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n function setCreator(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n creator: {\r\n ...respone,\r\n },\r\n },\r\n }));\r\n }\r\n\r\n function setInformation(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n template_desc: respone,\r\n },\r\n }));\r\n }\r\n function setInformationTemplate_Desc(respone: any) {\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n memoDetail: {\r\n ...prevState.memoDetail,\r\n ...respone,\r\n },\r\n }));\r\n }\r\n\r\n function setListFormName(respone: IListFormNameModel) {\r\n let _listFormName: IListFormNameModel = respone;\r\n setIsLoading(false);\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFormName: [_listFormName],\r\n }));\r\n }\r\n function setListRefDocsDetail(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listRefDocDetails: respone,\r\n }));\r\n }\r\n function setLineApprove(respone: any) {\r\n console.log(\"ddddddddddddereline\", respone);\r\n\r\n respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...respone],\r\n }));\r\n }\r\n function setFileAttach(respone: any) {\r\n setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listFileAttachDetails: [...respone],\r\n }));\r\n }\r\n\r\n function getRequestor() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getInformation() {\r\n return requestDetail?.memoDetail;\r\n }\r\n function getLineApprove() {\r\n return requestDetail?.listApprovalDetails;\r\n }\r\n function getFileAttach() {\r\n return requestDetail;\r\n }\r\n function getHistory() {\r\n return requestDetail?.listHistoryDetails;\r\n }\r\n function getTemplateTree() {\r\n return templateTree;\r\n }\r\n\r\n const fechMemoButton = async () => {\r\n setOnLoading(true);\r\n let _memoId: any = memoId;\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: empData.employeeData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = _dataDynamic.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n };\r\n const actionNavContent = () => {\r\n return (\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n
\r\n );\r\n };\r\n const fechMemoButtonDefault = () => {\r\n if (previewTemplate === false) {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n };\r\n const onSelectView = (text: string) => {\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n function toggleDialog() {\r\n setVisibleComfirm(!visibleComfirm);\r\n }\r\n\r\n const onUpdateMemo = async (\r\n type: string,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n setOnLoading(true);\r\n let _requestDetail: any = requestDetail;\r\n let error_result: any[] = [];\r\n let error_table: any[] = [];\r\n let ess_: any = [];\r\n console.log(_requestDetail, \"_requestDetail\");\r\n _requestDetail.memoDetail.actor = userData;\r\n if (_requestDetail.memoDetail.memoid === undefined) {\r\n _requestDetail.memoDetail.memoid = 0;\r\n }\r\n if (comment) {\r\n _requestDetail.memoDetail.comment = comment;\r\n if (waiting_for != undefined || waiting_for_id != undefined) {\r\n _requestDetail.memoDetail.waiting_for = waiting_for;\r\n _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n }\r\n }\r\n if (_requestDetail.listFormName[0]) {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === true) {\r\n _requestDetail.memoDetail.is_text_form = true;\r\n _requestDetail.memoDetail.template_desc = textFromValue;\r\n }\r\n }\r\n if (type === \"draft\" || type === \"cancel\") {\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (\r\n _requestDetail.memoDetail.subject === undefined ||\r\n _requestDetail.memoDetail.subject === null ||\r\n _requestDetail.memoDetail.subject.length === 0\r\n ) {\r\n ess_.push(\"Subject\");\r\n }\r\n if (ess_.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n console.log(\"_requestDetail\", _requestDetail);\r\n\r\n let _dataDynamic = await ActionMemoPage(dataJson);\r\n var checkAction: boolean = false;\r\n if (_dataDynamic.includes(\"done\")) {\r\n checkAction = true;\r\n }\r\n if (checkAction && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _dataDynamic,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: checkAction,\r\n msg: `${type} success`,\r\n });\r\n } else if (checkAction && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(!isActionPdf);\r\n\r\n setOnLoading(false);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `${_dataDynamic}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n } else {\r\n if (_requestDetail?.listFormName[0]?.IsTextForm === false) {\r\n let newRunning = \"\";\r\n const _template_desc: any = JSON.parse(\r\n _requestDetail?.memoDetail?.template_desc\r\n );\r\n for (let i = 0; i < _template_desc.items.length; i++) {\r\n const _layout = _template_desc.items[i].layout;\r\n const _layoutLength = _layout.length;\r\n for (let j = 0; j < _layout.length; j++) {\r\n const _template = _layout[j];\r\n if (_template.template.type === \"l\") {\r\n }\r\n\r\n if (_template.template.type === \"c\") {\r\n }\r\n\r\n if (_template.template.type === \"cb\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.value === null ||\r\n _template.data.value.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n\r\n if (_template.template.type === \"bt\") {\r\n }\r\n if (_template.template.type === \"an\") {\r\n if (type === \"draft\" || type === \"submit\") {\r\n let value: string = _template.data.value;\r\n if (value) {\r\n let runControls = requestDetail?.listControlRunning;\r\n\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: _template.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n if (dd[dd.length - 1] !== checkNum[check.length - 1]) {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n _template.data.value = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n runControls.push(requestBody);\r\n }\r\n\r\n _requestDetail.listControlRunning = runControls;\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"rvs\") {\r\n if (newRunning !== \"\") {\r\n _template.data.value = newRunning;\r\n }\r\n }\r\n if (_template.template.type === \"tb\") {\r\n const column = _template.template.attribute.column;\r\n // let error_table: any = [];\r\n let isTableRequire = false;\r\n for (let i = 0; i < column.length; i++) {\r\n const _column = column[i];\r\n if (_column.control.template.attribute.require === \"Y\") {\r\n if (\r\n _template.data.row !== null &&\r\n _template.data.row.length !== 0\r\n ) {\r\n for (let j = 0; j < _template.data.row.length; j++) {\r\n const _row = _template.data.row[j][i];\r\n if (_row.value !== undefined) {\r\n if (_row.value === null || _row.value === \"\") {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else if (Number(_row.value) === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n } else {\r\n if (\r\n _column.control.template.attribute.items !==\r\n undefined\r\n ) {\r\n if (\r\n _row.value ===\r\n _column.control.template.attribute?.items[0].item\r\n ) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n if (_row.item !== undefined) {\r\n if (_row.item === null || _row.item === \"\") {\r\n if (_row.item.length === 0) {\r\n error_table.push({ table_row: j, table_col: i });\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n isTableRequire = true;\r\n }\r\n }\r\n }\r\n if (isTableRequire) {\r\n if (\r\n _template.data.row === null ||\r\n _template.data.row.length === 0\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"ed\") {\r\n }\r\n if (_template.template.type === \"at\") {\r\n }\r\n if (\r\n _template.template.type === \"t\" ||\r\n _template.template.type === \"ta\" ||\r\n _template.template.type === \"d\" ||\r\n _template.template.type === \"r\"\r\n ) {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n if (_template.data.value !== null) {\r\n if (_template.data.value.length === 0) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (_template.template.type === \"dd\") {\r\n if (_template.template.attribute.require === \"Y\") {\r\n if (_template.data.value === null) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n\r\n if (_template.data.value !== null) {\r\n if (\r\n _template.data.value.length === 0 ||\r\n _template.data.value === \"--select--\"\r\n ) {\r\n error_result.push({\r\n row: i,\r\n col: j,\r\n label: _template.template.label,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (_requestDetail.memoDetail.company_name === \"\") {\r\n ess_.push(\"Company\");\r\n }\r\n if (_requestDetail.memoDetail.subject === \"\") {\r\n ess_.push(\"Subject\");\r\n }\r\n if (_requestDetail.listApprovalDetails.length <= 0) {\r\n ess_.push(\"Line Approve\");\r\n }\r\n if (ess_.length > 0) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Please fill \" + ess_.join(\" , \"),\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n } else if (error_result.length === 0 && error_table.length === 0) {\r\n const dataJson = { MemoPage: _requestDetail, Type: type };\r\n let _respone = await ActionMemoPage(dataJson);\r\n if (_respone && check === \"add\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${type} success`,\r\n });\r\n } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n setIsActionPdf(true);\r\n } else {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: \"Server Error Please try again\",\r\n life: 7000,\r\n });\r\n }\r\n } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n toast.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: `Please fill in all required fields. ${error_result.map(\r\n (_errpr) => _errpr.label\r\n )}`,\r\n life: 7000,\r\n });\r\n setOnLoading(false);\r\n }\r\n }\r\n setErrorTable([...error_table]);\r\n setErrorResult([...error_result]);\r\n console.log(_requestDetail, \"_requestDetail\");\r\n };\r\n\r\n return (\r\n {\r\n console.log(requestDetail);\r\n }}\r\n >\r\n \r\n {onLoading && (\r\n console.log(onLoading, onLoadLineApprove)}\r\n >\r\n \"loading...\"\r\n \r\n )}\r\n
\r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n {check == \"edit\" && (\r\n null}\r\n onUpdate={onUpdateMemo}\r\n pageName={\"Request\"}\r\n />\r\n )}\r\n {check == \"add\" && fechMemoButtonDefault()}\r\n {check == \"edit\" && (\r\n <>\r\n {/* {isActionPdf === false && isShowPdfButton && (\r\n \r\n )}\r\n {isActionPdf === true && isShowPdfButton && (\r\n \r\n )} */}\r\n \r\n )}\r\n
\r\n
\r\n\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n {check === \"add\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n
\r\n )}\r\n {check === \"edit\" && getInformation() !== undefined && (\r\n
\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n \r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {selectedView === \"5\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Button, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IListFormNameModel } from \"../../IRequestModel/IListFormNameModel\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetailById,\r\n} from \"../../Services/MemoService\";\r\nimport { MenuOutlined } from \"@ant-design/icons\";\r\nimport RequestSideBarElement from \"../Request/RequestSideBarElement\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\n\r\nimport LineApprovalsComponent from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { IMemoPageModel } from \"../../IRequestModel/IMemoPageModel\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { InformationComponent } from \"../../components/RequestComponents/InformationComponent/InformationComponent\";\r\nimport { GetTemplateById } from \"../../Services/TemplateService\";\r\nimport { RequestScreen } from \"../Request/RequestScreen\";\r\ninterface Props {\r\n // copyFunction: (respone: any) => void;\r\n copyMemo?: any;\r\n}\r\n\r\nexport const PreviewTemplateScreen = (props: Props) => {\r\n return ;\r\n // const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n // const [templateId, setTtemplateId] = useState();\r\n // const [memoId, setMemoId] = useState();\r\n // const [sidebarState, setSidebarState] = useState(true);\r\n // const [selectedView, setSelectedView] = useState(\"2\");\r\n // const [menuButton, setMenuButton] = useState([]);\r\n // const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n // const [curPage, setCurPage] = useState(\"2\");\r\n // const [onLoading, setOnLoading] = useState(false);\r\n // const [isLoading, setIsLoading] = useState(false);\r\n // const location = useLocation();\r\n // const query = new URLSearchParams(useLocation().search);\r\n // const [templateTree, setTemplateTree] = useState({});\r\n // const [check, setCheck] = useState(\"\");\r\n // const [requestDetail, setRequestDetail] = useState();\r\n // const [imgLoading, setImgLoading] = useState(null);\r\n // const [errorResult, setErrorResult] = useState([]);\r\n // const [visibleComfirm, setVisibleComfirm] = useState(false);\r\n // const [errorTable, setErrorTable] = useState([]);\r\n // const toast = useRef(null);\r\n // const [showControl, setShowControl] = useState([]);\r\n // const [textFromValue, setTextFromValue] = useState(\"\");\r\n // var respone = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n // const [isTextFromValue, setIsTextFromValue] = useState();\r\n // var userData = respone.employeeData;\r\n // let history = useHistory();\r\n // const [isInitialLogic, setIsInitialLogic] = useState(false);\r\n // let memoPageModel: IMemoPageModel = {\r\n // listApprovalDetails: [],\r\n // listFormName: [],\r\n // listFileAttachDetails: [],\r\n // listHistoryDetails: [],\r\n // memoDetail: {\r\n // GroupTemplateName: \"\",\r\n // actor: userData,\r\n // requestor: userData,\r\n // amount: \"\",\r\n // memoid: 0,\r\n\r\n // approver_can_edit: false,\r\n // auto_approve: false,\r\n // auto_approve_when: \"\",\r\n // comment: \"\",\r\n // company_id: 0,\r\n // company_name: \"\",\r\n // costcenter: \"\",\r\n // created_by: \"\",\r\n // created_date: \"\",\r\n // creator: userData,\r\n // current_approval_level: 0,\r\n // department_id: 0,\r\n // document_library: \"\",\r\n // document_no: \"\",\r\n // document_set: \"\",\r\n // is_editable: false,\r\n // is_public: false,\r\n // is_text_form: false,\r\n // last_action_by: \"\",\r\n // last_status_id: 0,\r\n // last_status_name: \"\",\r\n // location: \"\",\r\n // modified_by: \"\",\r\n // modified_date: \"\",\r\n // pass: \"\",\r\n // project: \"\",\r\n // project_id: 0,\r\n // report_lang: \"\",\r\n // request_date: \"\",\r\n // status_id: 0,\r\n // status: \"\",\r\n // subject: \"\",\r\n // template_code: \"\",\r\n // template_desc: \"\",\r\n // template_detail: \"\",\r\n // template_id: 0,\r\n // template_name: \"\",\r\n // to: \"\",\r\n // // toId:0,\r\n // waiting_for: \"\",\r\n // waiting_for_id: 0,\r\n // copyInformation: \"N\",\r\n // },\r\n // };\r\n // useEffect(() => {\r\n // async function fetchLeaveTemplate() {\r\n // console.log(checkTypeLeave, \"checkTypeLeave\");\r\n\r\n // if (checkTypeLeave) {\r\n // var _responeData = await GetLeaveTemplateByEmpId(requestorId);\r\n // console.log(_responeData, \"_responeData\");\r\n // setLeaveTypeTable(_responeData);\r\n // } else {\r\n // setLeaveTypeTable([]);\r\n // }\r\n // }\r\n // fetchLeaveTemplate();\r\n // }, [requestorId, checkTypeLeave]);\r\n // function toggleSideBar() {\r\n // if (sidebarState) {\r\n // setSidebarState(false);\r\n // } else {\r\n // setSidebarState(true);\r\n // }\r\n // }\r\n // useEffect(() => {\r\n // setImgLoading(LogoLoading);\r\n // }, []);\r\n // useEffect(() => {\r\n // if (query.get(\"MemoID\") !== undefined && query.get(\"MemoID\") !== null) {\r\n // let memoid = Number(query.get(\"MemoID\"));\r\n // setMemoId(memoid);\r\n // }\r\n // if (query.get(\"template\") !== undefined && query.get(\"template\") !== null) {\r\n // let templateid = Number(query.get(\"template\"));\r\n // setTtemplateId(templateid);\r\n // }\r\n // }, [query]);\r\n // useEffect(() => {\r\n // if (memoId !== undefined) {\r\n // fetchTemplate().then((_listFormName) => {\r\n // let _memoPageModel = memoPageModel;\r\n // _memoPageModel.listFormName = [_listFormName];\r\n // if (memoId !== 0) {\r\n // fechMemoDetail();\r\n // fechMemoButton();\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // }\r\n // if (memoId === 0) {\r\n // setSelectedView(\"2\");\r\n // setCurPage(\"2\");\r\n // setCheck(\"add\");\r\n // setErrorResult([]);\r\n // _memoPageModel.memoDetail.status = \"Draft\";\r\n // setRequestDetail(_memoPageModel);\r\n // setTemplateTree(_memoPageModel.listFormName[0]);\r\n // setIsTextFromValue(_memoPageModel.listFormName[0].IsTextForm);\r\n\r\n // setTextFromValue(_memoPageModel.listFormName[0].TextForm);\r\n // }\r\n // });\r\n // }\r\n // }, [memoId, templateId]);\r\n\r\n // const fetchTemplate = async () => {\r\n // const dataJson = {\r\n // TemplateId: templateId,\r\n // };\r\n // let _templateIdListFormName: any = await GetTemplateById(dataJson);\r\n // // console.log(\"_templateIdListFormName\", _templateIdListFormName);\r\n\r\n // return _templateIdListFormName;\r\n // };\r\n // const fechMemoDetail = async () => {\r\n // setOnLoading(true);\r\n // const requestBody = {\r\n // Memoid: memoId,\r\n // SecretId: \"\",\r\n // EmployeeId: window.localStorage.getItem(\"employeeId\"),\r\n // };\r\n // let _respone = await GetMemoDetailById(requestBody);\r\n // //\"Completed\"\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: _respone.memoDetail,\r\n // listHistoryDetails: _respone.listHistoryDetails,\r\n // listFileAttachDetails: _respone.listFileAttachDetails,\r\n // listApprovalDetails: _respone.listApprovalDetails,\r\n // }));\r\n // setCheck(\"edit\");\r\n // setOnLoading(false);\r\n // };\r\n\r\n // function setSummary(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // amount: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setRequestor(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // requestor: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n // function setCreator(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // creator: {\r\n // ...respone,\r\n // },\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setInformation(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // template_desc: respone,\r\n // },\r\n // }));\r\n // }\r\n // function setInformationTemplate_Desc(respone: any) {\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // memoDetail: {\r\n // ...prevState.memoDetail,\r\n // ...respone,\r\n // },\r\n // }));\r\n // }\r\n\r\n // function setListFormName(respone: IListFormNameModel) {\r\n // let _listFormName: IListFormNameModel = respone;\r\n // setIsLoading(false);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFormName: [_listFormName],\r\n // }));\r\n // }\r\n\r\n // function setLineApprove(respone: any) {\r\n // respone.sort((a: any, b: any) => (a.sequence > b.sequence ? 1 : -1));\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listApprovalDetails: [...respone],\r\n // }));\r\n // }\r\n // function setFileAttach(respone: any) {\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listFileAttachDetails: [...respone],\r\n // }));\r\n // }\r\n\r\n // function getRequestor() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getInformation() {\r\n // return requestDetail?.memoDetail;\r\n // }\r\n // function getLineAprove() {\r\n // return requestDetail?.listApprovalDetails;\r\n // }\r\n // function getFileAttach() {\r\n // return requestDetail;\r\n // }\r\n // function getHistory() {\r\n // return requestDetail?.listHistoryDetails;\r\n // }\r\n // function getTemplateTree() {\r\n // return templateTree;\r\n // }\r\n // function setListActionButtonDetails(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // // fetch(\"/api/Company/companyWithName\")\r\n // // .then((response) => response.json())\r\n // // .then((data) => {\r\n // // console.log(\"compa\", data);\r\n // // setRequestDetail((prevState: any) => ({\r\n // // ...prevState,\r\n // // listActionButtonDetails: respone,\r\n // // listCompany: data,\r\n // // }));\r\n // // });\r\n // }\r\n // const fechMemoButton = async () => {\r\n // setOnLoading(true);\r\n // let _memoId: any = memoId;\r\n // let memoButton: IMemoButtonModel = {\r\n // actor: {\r\n // EmployeeId: empData.employeeData.EmployeeId,\r\n // },\r\n // memoid: _memoId,\r\n // };\r\n // let _dataDynamic = await GetButtonMemoByMemoId(memoButton);\r\n\r\n // const menuButtonSort = _dataDynamic.sort(\r\n // (x: any, y: any) => x.sequence - y.sequence\r\n // );\r\n // setListActionButtonDetails(_dataDynamic);\r\n // setMenuButton(menuButtonSort);\r\n // };\r\n // const actionNavContent = () => {\r\n // return (\r\n //
\r\n // {check == \"edit\" && (\r\n // null}\r\n // onUpdate={onUpdateMemo}\r\n // pageName={\"Request\"}\r\n // />\r\n // )}\r\n // {check == \"add\" && fechMemoButtonDefault()}\r\n //
\r\n // );\r\n // };\r\n // function setListRefDocsDetail(respone: any) {\r\n // // console.log(\"eeeeeeeeeeeee\", respone);\r\n // setRequestDetail((prevState: any) => ({\r\n // ...prevState,\r\n // listRefDocDetails: respone,\r\n // }));\r\n // }\r\n // const fechMemoButtonDefault = () => {};\r\n // const onSelectView = (text: string) => {\r\n // setCurPage(text);\r\n // setSelectedView(text);\r\n // };\r\n // const onUpdateMemo = async (\r\n // type: string,\r\n // comment: any,\r\n // waiting_for?: string,\r\n // waiting_for_id?: number\r\n // ) => {\r\n // setOnLoading(true);\r\n // let _requestDetail: any = requestDetail;\r\n\r\n // let error_result: any[] = [];\r\n // let error_table: any[] = [];\r\n // let ess_: any = [];\r\n // const _template_desc: any = JSON.parse(\r\n // _requestDetail.memoDetail.template_desc\r\n // );\r\n\r\n // _requestDetail.memoDetail.actor = userData;\r\n // if (_requestDetail.memoDetail.memoid === undefined) {\r\n // _requestDetail.memoDetail.memoid = 0;\r\n // }\r\n // if (comment !== undefined) {\r\n // if (comment.length > 0) {\r\n // _requestDetail.memoDetail.comment = comment;\r\n // if (waiting_for != undefined || waiting_for_id != undefined) {\r\n // _requestDetail.memoDetail.waiting_for = waiting_for;\r\n // _requestDetail.memoDetail.waiting_for_id = waiting_for_id;\r\n // }\r\n // }\r\n // }\r\n // if (type === \"draft\" || type === \"cancel\") {\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (ess_.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _dataDynamic = await ActionMemoPage(dataJson);\r\n\r\n // if (_dataDynamic && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _dataDynamic,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_dataDynamic && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n // } else {\r\n // for (let i = 0; i < _template_desc.items.length; i++) {\r\n // const _layout = _template_desc.items[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // for (let j = 0; j < _layout.length; j++) {\r\n // const _template = _layout[j];\r\n // if (_template.template.type === \"l\") {\r\n // }\r\n // if (_template.template.type === \"c\") {\r\n // }\r\n\r\n // if (_template.template.type === \"cb\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (\r\n // _template.data.value === null ||\r\n // _template.data.value.length === 0\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n\r\n // if (_template.template.type === \"bt\") {\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // const column = _template.template.attribute.column;\r\n // // let error_table: any = [];\r\n\r\n // if (_template.data.row !== null) {\r\n // for (let i = 0; i < column.length; i++) {\r\n // const _column = column[i];\r\n // if (_column.control.template.attribute.require === \"Y\") {\r\n // for (let j = 0; j < _template.data.row.length; j++) {\r\n // const _row = _template.data.row[j][i];\r\n // if (_row.value !== undefined) {\r\n // if (_row.value.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // if (_row.item !== undefined) {\r\n // if (_row.item.length === 0) {\r\n // error_table.push({ table_row: j, table_col: i });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // }\r\n // if (\r\n // _template.template.type === \"t\" ||\r\n // _template.template.type === \"ta\" ||\r\n // _template.template.type === \"d\" ||\r\n // _template.template.type === \"r\"\r\n // ) {\r\n // // if (_template.data.value === null) {\r\n // // }\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // if (_template.data.value !== null) {\r\n // if (_template.data.value.length === 0) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.require === \"Y\") {\r\n // if (_template.data.value === null) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n\r\n // if (_template.data.value !== null) {\r\n // // console.log(\"_template: \", _template);\r\n\r\n // if (\r\n // _template.data.value.length === 0 ||\r\n // _template.data.value === \"--select--\"\r\n // ) {\r\n // error_result.push({\r\n // row: i,\r\n // col: j,\r\n // label: _template.template.label,\r\n // });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n // if (_requestDetail.memoDetail.company_name === \"\") {\r\n // ess_.push(\"Company\");\r\n // }\r\n // if (_requestDetail.memoDetail.subject === \"\") {\r\n // ess_.push(\"Subject\");\r\n // }\r\n // if (_requestDetail.listApprovalDetails.length <= 0) {\r\n // ess_.push(\"Line Approve\");\r\n // }\r\n // if (ess_.length > 0) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill \" + ess_.join(\" , \"),\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // } else if (error_result.length === 0 && error_table.length === 0) {\r\n // const dataJson = { MemoPage: _requestDetail, Type: type };\r\n // let _respone = await ActionMemoPage(dataJson);\r\n // console.log(\"type\", type);\r\n\r\n // if (_respone && check === \"add\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type !== \"draft\") {\r\n // history.push(\"/Default\", {\r\n // responeData: _respone,\r\n // msg: `${type} success`,\r\n // });\r\n // } else if (_respone && check !== \"add\" && type === \"draft\") {\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success Message\",\r\n // detail: `${type} success`,\r\n // life: 3000,\r\n // });\r\n // setOnLoading(false);\r\n // } else {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Server Error Please try again\",\r\n // life: 7000,\r\n // });\r\n // }\r\n // } else if (error_result.length >= 1 || error_table.length >= 1) {\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n // setOnLoading(false);\r\n // }\r\n // }\r\n\r\n // setErrorTable([...error_table]);\r\n // setErrorResult([...error_result]);\r\n // };\r\n\r\n // return (\r\n // {\r\n // console.log(requestDetail);\r\n // }}\r\n // >\r\n // \r\n\r\n // {onLoading && (\r\n //
\r\n // \"loading...\"\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // }\r\n // size=\"large\"\r\n // onClick={toggleSideBar}\r\n // style={{ background: \"transparent \" }}\r\n // />\r\n // \r\n //
\r\n //
\r\n\r\n // {sidebarState ? (\r\n //
\r\n // \r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n\r\n //
\r\n //
\r\n // {sidebarState ? (\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // ) : (\r\n //
\r\n // )}\r\n // {check == \"add\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n // {check == \"edit\" && (\r\n //
\r\n // {selectedView === \"1\" && (\r\n // \r\n // )}\r\n // {selectedView === \"2\" && (\r\n // \r\n // )}\r\n // {selectedView === \"3\" && (\r\n // \r\n // )}\r\n // {selectedView === \"4\" && (\r\n // \r\n // )}\r\n // {selectedView === \"5\" && (\r\n // \r\n // )}\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // \r\n // \r\n // \r\n //
\r\n // \r\n //
\r\n // \r\n // );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport const LoginGoogle = () => {\r\n // const [user, setUser] = useState(null);\r\n // const [sessionState, setSessionState] = useSessionContext();\r\n // const { googleAuth } = useGoogleAuth();\r\n // const cookies = new Cookies();\r\n // const { currentUser } = useGoogleUser();\r\n // const history = useHistory();\r\n // useEffect(() => {\r\n // console.log(\"user\", user);\r\n // if (!user && googleAuth) {\r\n // // googleAuth?.signIn();\r\n // checkAuth();\r\n // }\r\n // }, [user, googleAuth]);\r\n // const checkAuth = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // setUser(googleAuth?.currentUser.get().getBasicProfile().getName());\r\n // submitGoogle();\r\n // } else {\r\n // console.log(\"dd\", googleAuth?.isSignedIn.get());\r\n // googleAuth?.signIn();\r\n // }\r\n // };\r\n // const submitGoogle = async () => {\r\n // if (googleAuth?.isSignedIn.get()) {\r\n // const _accounts: any = googleAuth?.currentUser\r\n // .get()\r\n // .getBasicProfile()\r\n // .getEmail();\r\n // await fetch(\"api/Login/GoogleAccount\", {\r\n // method: \"POST\",\r\n // headers: {\r\n // \"Content-Type\": \"application/json\",\r\n // },\r\n // body: JSON.stringify({\r\n // username: _accounts,\r\n // }),\r\n // })\r\n // .then((response) => response.json())\r\n // .then((data) => {\r\n // const _loginWolfAccount: any = data;\r\n // console.log(\"datadatadata\", data);\r\n\r\n // if (data) {\r\n // const fav_storage = JSON.parse(\r\n // localStorage.getItem(\"favorite\")\r\n // );\r\n // localStorage.removeItem(\"userData\");\r\n // localStorage.removeItem(\"tinyUrl\");\r\n // cookies.remove(\"GuidVerify\");\r\n // cookies.set(\r\n // \"GuidVerify\",\r\n // googleAuth?.currentUser.get().getAuthResponse().access_token,\r\n // {\r\n // path: \"/\",\r\n // expires: new Date(\r\n // Date.now() +\r\n // googleAuth?.currentUser.get().getAuthResponse().expires_in\r\n // ),\r\n // }\r\n // );\r\n // if (fav_storage !== null) {\r\n // if (fav_storage.length > 0) {\r\n // localStorage.setItem(\r\n // \"favorite\",\r\n // JSON.stringify(fav_storage)\r\n // );\r\n // }\r\n // } else {\r\n // localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n // }\r\n\r\n // localStorage.setItem(\r\n // \"userData\",\r\n // JSON.stringify(_loginWolfAccount)\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeId\",\r\n // _loginWolfAccount.employeeData.EmployeeId\r\n // );\r\n // localStorage.setItem(\r\n // \"employeeCode\",\r\n // _loginWolfAccount.employeeData.EmployeeCode\r\n // );\r\n // localStorage.setItem(\r\n // \"nameEn\",\r\n // _loginWolfAccount.employeeData.NameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"nameTh\",\r\n // _loginWolfAccount.employeeData.NameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"email\",\r\n // _loginWolfAccount.employeeData.Email\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameTh\",\r\n // _loginWolfAccount.employeeData.PositionNameTh\r\n // );\r\n // localStorage.setItem(\r\n // \"positionNameEn\",\r\n // _loginWolfAccount.employeeData.PositionNameEn\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentId\",\r\n // _loginWolfAccount.employeeData.DepartmentId\r\n // );\r\n // localStorage.setItem(\r\n // \"departmentNameTh\",\r\n // _loginWolfAccount.employeeData.DepartmentNameEn\r\n // );\r\n // localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n // setSessionState({ ...sessionState, isAuthenticated: true });\r\n // history.push(\"/Default\");\r\n // } else {\r\n // console.log(\"ddddeee\");\r\n // }\r\n // });\r\n // }\r\n // };\r\n // // if (googleAuth?.isSignedIn.get()) {\r\n // // return (\r\n // // <>\r\n // // {\r\n // // console.log(\r\n // // \"googleAuth?.isSignedIn\",\r\n // // googleAuth?.currentUser.get().getBasicProfile().getName()\r\n // // );\r\n // // }}\r\n // // >\r\n // // Welcome user{\" \"}\r\n // // {googleAuth?.currentUser.get().getBasicProfile().getName()}\r\n // //

\r\n // // {\r\n // // console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n // // googleAuth.signOut();\r\n // // setUser(null);\r\n // // location.reload();\r\n // // }}\r\n // // >\r\n // // Sign Out\r\n // // \r\n // // \r\n // // );\r\n // // }\r\n return (\r\n
\r\n {/* {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn.get());\r\n }}\r\n >\r\n Click here to sign in:\r\n

\r\n {\r\n console.log(\"googleAuth?.isSignedIn\", googleAuth?.isSignedIn);\r\n\r\n googleAuth?.signIn();\r\n }}\r\n >\r\n Sign In\r\n */}\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiChevronLeft } from \"react-icons/fi\";\r\nimport { useHistory } from \"react-router\";\r\nimport { RegisterWolfAccount } from \"../../Services/AuthorizedService\";\r\ntype Props = { PathLogo: any; responeConfig: any };\r\n\r\nconst RegisterWolfScreen = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n getValues,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n defaultValues: {\r\n email: \"\",\r\n new_password: \"\",\r\n confirm_password: \"\",\r\n },\r\n });\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [checkLength, setCheckLength] = useState(true);\r\n const [checkEmail, setCheckEmail] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [displayPopup, setDisplayPopup] = useState(false);\r\n const [dataRemark, setDataRemark] = useState(\"\");\r\n const history = useHistory();\r\n\r\n async function onSubmit(data: any) {\r\n setCheckLength(true);\r\n setIsPasswordCompared(true);\r\n setCheckEmail(true);\r\n\r\n var validated = validateEmail(data.email);\r\n if (!validated) {\r\n setCheckEmail(false);\r\n }\r\n if (data.confirm_password.length < 8) {\r\n setCheckLength(false);\r\n return;\r\n } else if (data.confirm_password !== data.new_password) {\r\n setIsPasswordCompared(false);\r\n return;\r\n }\r\n setLoading(true);\r\n const _baseUrl = window.location.hostname;\r\n\r\n var dataRequest = {\r\n Username: data.email,\r\n Password: data.confirm_password,\r\n Note: data.new_password,\r\n // Remark: \"https://qar2.wolfapprove.com\",\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log({\r\n Regis: {\r\n Username: data.email,\r\n Remark:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n },\r\n });\r\n\r\n const respone = await RegisterWolfAccount(dataRequest);\r\n if (respone.IsActive) {\r\n var replace = respone.Remark.replaceAll(\"([-EMAIL-])\", data.email);\r\n replace = replace.replaceAll(\"
\", \"\\n\");\r\n setDisplayPopup(true);\r\n setDataRemark(replace);\r\n } else {\r\n if (respone.Remark.includes(\"Your username is duplicate\")) {\r\n setDisplayPopup(true);\r\n setDataRemark(respone.Remark);\r\n }\r\n }\r\n setLoading(false);\r\n }\r\n const validateEmail = (email: any) => {\r\n return String(email)\r\n .toLowerCase()\r\n .match(\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n );\r\n };\r\n function popupRespone() {\r\n return (\r\n
\r\n \"img\"\r\n
\r\n \r\n

\r\n {dataRemark}\r\n

\r\n history.push(\"/login\")}\r\n >\r\n Return to Login Page / กลับไปที่หน้าเข้าสู่ระบบ\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n function form() {\r\n return (\r\n <>\r\n
\r\n
\r\n history.push(\"/login\")}\r\n className={\"back-button\"}\r\n />\r\n\r\n \"img\"\r\n\r\n
\r\n

Register / สมัครใช้งาน

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

Email / อีเมล

\r\n (\r\n \r\n )}\r\n />\r\n {errors.email &&

กรุณากรอกอีเมลใหม่

}\r\n {!checkEmail && (\r\n

รูปแบบอีเมลไม่ถูกต้อง

\r\n )}\r\n
\r\n
\r\n

Password / รหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.new_password && (\r\n

กรุณากรอกรหัสผ่านใหม่

\r\n )}\r\n
\r\n
\r\n

Confirm Password / ยืนยันรหัสผ่าน

\r\n (\r\n \r\n )}\r\n />\r\n {errors.confirm_password && isPasswordCompared && (\r\n

กรุณากรอกยืนยันรหัสผ่าน

\r\n )}\r\n {!checkLength && isPasswordCompared && (\r\n

รหัสผ่านอย่างน้อย 8 ตัวอักษร

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {!loading ? (\r\n <>{!displayPopup ? form() : popupRespone()}\r\n ) : (\r\n \"loading...\"\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default RegisterWolfScreen;\r\n","import { Button } from \"primereact/button\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport \"./index.css\";\r\ntype Props = {\r\n canEditDoc: boolean;\r\n refAttribute: any;\r\n refTempSelected: any;\r\n refLoading: boolean;\r\n setRefTempSelected: any;\r\n status: any;\r\n};\r\n\r\nconst TableReferenceComponent = (props: Props) => {\r\n const deleteBodyTemplate = (selected: any) => {\r\n return (\r\n <>\r\n {\r\n props.setRefTempSelected(\r\n props.refTempSelected.filter((_val: any, _idx: number) => {\r\n return selected.MemoId !== _val.MemoId;\r\n })\r\n );\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n function ConvertSelectedtoTable(refTempSelected: any) {\r\n console.log(\"refTempSelected\", refTempSelected, props.refAttribute);\r\n }\r\n useEffect(() => {\r\n ConvertSelectedtoTable(props.refTempSelected);\r\n }, [props.refTempSelected]);\r\n\r\n return (\r\n
\r\n \"row-pointer\"}\r\n onRowClick={(rowData: any) => {\r\n const urlElelement: any = window.location.href.split(\"/\");\r\n const url = urlElelement[2];\r\n window.open(\r\n `/Request?MemoID=${rowData.data.MemoId}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n size=\"small\"\r\n rows={5}\r\n >\r\n options.rowIndex + 1}\r\n style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n />\r\n {props.refAttribute?.optionLabel === \"เลขที่เอกสาร\" ? (\r\n \r\n \r\n

เลขที่เอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"หมายเลขเอกสาร\" ? (\r\n \r\n \r\n

หมายเลขเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : props.refAttribute?.optionLabel === \"รหัสเอกสาร\" ? (\r\n \r\n \r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

\r\n {props.refAttribute.optionLabel}\r\n

\r\n {/*

รหัสเอกสาร

*/}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => rowData[props.refAttribute.optionLabel]}\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n {props.status !== \"Completed\" && (\r\n \r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n \r\n }\r\n >\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TableReferenceComponent;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { ValidateRefTemplate } from \"../../../../Services/TemplateService\";\r\nimport useAlert from \"../../../../hooks/useAlert\";\r\nimport { MAdvanceFormByMemoIds } from \"../../../../Services/MemoService\";\r\n\r\ntype Props = {\r\n refAttribute: any;\r\n dialogVisibleInRefTemplate: any;\r\n setDialogVisibleInRefTemplate: any;\r\n refTempSelected: any;\r\n refObtions: any[];\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n previousRefTempSelected: any;\r\n memoDetail : any;\r\n};\r\n\r\nconst DialogRefTemplateComponent = (props: Props) => {\r\n const [filterRefTempValue, setFilterRefTempValue] = useState(\"\");\r\n const [refSelected, setRefSelected] = useState();\r\n\r\n const assignMAdvancveForm = (\r\n selectedList: any[],\r\n advanceFormList: Array<{ MemoId: number; MAdvancveForm: string }>\r\n ) => {\r\n return selectedList.map((x) => {\r\n let matchedItem = advanceFormList.find((y) => y.MemoId == x.MemoId);\r\n if (matchedItem != null) {\r\n x.MAdvancveForm = matchedItem.MAdvancveForm;\r\n } else {\r\n x.MAdvacveForm = \"[]\";\r\n }\r\n return x;\r\n });\r\n };\r\n useEffect(() => {\r\n try {\r\n if (refSelected) {\r\n if (\r\n JSON.stringify(refSelected) !== JSON.stringify(props.refTempSelected)\r\n ) {\r\n if (props.refAttribute.mode.toLowerCase() === \"single\") {\r\n onHide();\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [refSelected]);\r\n useEffect(() => {\r\n try {\r\n const dataOption = props.refObtions;\r\n const data = dataOption.filter((data: any, index: number) => {\r\n if (\r\n data.DocumentNo.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.TemplateName.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data.MemoSubject.toLowerCase().includes(\r\n filterRefTempValue.toLowerCase()\r\n ) ||\r\n data[props.refAttribute.optionLabel]\r\n ?.toLowerCase()\r\n .includes(filterRefTempValue.toLowerCase())\r\n ) {\r\n return true;\r\n }\r\n });\r\n props.setSearchRefDocData([...data]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }, [filterRefTempValue]);\r\n\r\n const renderHeaderRefTemplate = () => {\r\n return (\r\n
\r\n setFilterRefTempValue(e)}\r\n placeholderProps={\"Search\"}\r\n setIconProps={}\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onHide = () => {\r\n if (refSelected && refSelected.length > 0) {\r\n MAdvanceFormByMemoIds(refSelected.map((x) => x.MemoId)).then((refMemoId) => {\r\n const RefSelected = assignMAdvancveForm(refSelected, refMemoId);\r\n\r\n props.setRefTempSelected(RefSelected);\r\n });\r\n }\r\n props.setDialogVisibleInRefTemplate(false);\r\n setFilterRefTempValue(\"\");\r\n };\r\n\r\n async function onSelect(refTemp: any) {\r\n const validate = await ValidateSelected(refTemp);\r\n\r\n if (validate) {\r\n try {\r\n if (refTemp === null) {\r\n setRefSelected([...[]]);\r\n } else if (!refTemp) {\r\n setRefSelected([]);\r\n } else if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n if (Array.isArray(refTemp)) {\r\n setRefSelected([...refTemp]);\r\n } else {\r\n let val: any[] = [];\r\n val.push(refTemp);\r\n setRefSelected([...val]);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n const { toggleAlert } = useAlert();\r\n\r\n async function ValidateSelected(refTempSelected: any) {\r\n let respone;\r\n let valid: boolean = true;\r\n let val: any[] = [];\r\n if (refTempSelected) {\r\n if (Array.isArray(refTempSelected)) {\r\n val = refTempSelected;\r\n } else {\r\n val.push(refTempSelected);\r\n }\r\n for (let i = 0; i < val.length; i++) {\r\n if (val[i].SelectField) {\r\n const dataJson = {\r\n TemplateId: props.memoDetail.template_id,\r\n Label: val[i].SelectField.label,\r\n DocNo: val[i].SelectField.value,\r\n };\r\n respone = await ValidateRefTemplate(dataJson);\r\n if (respone.ValidateRef === false) {\r\n toggleAlert({\r\n description: respone.Message,\r\n message: \"Reference Document Warning.\",\r\n type: \"warning\",\r\n duration: 6,\r\n });\r\n valid = false;\r\n }\r\n }\r\n }\r\n return valid;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n if (props.refTempSelected) {\r\n setRefSelected([...props.refTempSelected]);\r\n }\r\n }}\r\n onHide={onHide}\r\n dismissableMask\r\n className=\"information-dialog\"\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n closable\r\n >\r\n e)}\r\n selection={refSelected}\r\n onSelectionChange={(e: any) => {\r\n onSelect(e.value);\r\n }}\r\n selectionMode={\r\n props.refAttribute?.mode.toLowerCase() === \"single\"\r\n ? \"single\"\r\n : \"multiple\"\r\n }\r\n dataKey=\"DocumentNo\"\r\n responsiveLayout=\"scroll\"\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n sortField=\"DocumentNo\"\r\n sortOrder={1}\r\n >\r\n \r\n {props.refAttribute?.optionLabel !== \"Information DocumentNo\" ? (\r\n \r\n \r\n

\r\n {props.refAttribute?.optionLabel}\r\n

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n ) : (\r\n \r\n \r\n

Document No.

\r\n

รหัสเอกสาร

\r\n \r\n \r\n }\r\n sortable\r\n >\r\n )}\r\n\r\n \r\n \r\n

Form Template

\r\n

ชื่อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Subject

\r\n

หัวข้อเอกสาร

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DialogRefTemplateComponent;\r\n","import React, { useEffect, useState, FC } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MdPreview } from \"react-icons/md\";\r\n\r\ntype Props = {\r\n setSelectedTemplateVersion: any;\r\n selectedTemplateVersion: any;\r\n templateListVersion: any;\r\n canEditDoc: any;\r\n status: any;\r\n};\r\nconst TemplateVersionComponent = (props: Props) => {\r\n async function previewTemplate() {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/Request?MemoID=0&template=${props.selectedTemplateVersion.TemplateId}`,\r\n \"_blank\"\r\n );\r\n }\r\n useEffect(() => {\r\n console.log(props.status, \"statusstatus\");\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Select Form Template\r\n

\r\n
\r\n

\r\n เลือกฟอร์มที่ต้องการขออนุมัติ\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n props.setSelectedTemplateVersion(e.value)}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{\r\n fontSize: \"13px\",\r\n justifyContent: \"start\",\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder={\r\n props.selectedTemplateVersion\r\n ? props.selectedTemplateVersion.TemplateNameWithCode\r\n : \"Select Form Template\"\r\n }\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n width: \"60%\",\r\n }}\r\n disabled={!props.canEditDoc}\r\n />\r\n {props.selectedTemplateVersion && (\r\n
\r\n \r\n }\r\n onClickProps={previewTemplate}\r\n setStyleProps={{\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n width: \"120px\",\r\n }}\r\n // disabledProps={!props.canEditDoc}\r\n />\r\n
\r\n )}\r\n {props.status === \"Draft\" ||\r\n props.status === \"Recall\" ||\r\n props.status === \"Rework\" ? (\r\n {\r\n console.log(props.status, \"statusstatus\");\r\n props.setSelectedTemplateVersion(null);\r\n }}\r\n setStyleProps={{\r\n backgroundColor: \"red\",\r\n border: \"1px solid red\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateVersionComponent;\r\n","import { Space, Input, Modal, Table } from \"antd\";\r\nimport React, { useEffect, useState, FC } from \"react\";\r\nimport { CoreControllerComponentTest } from \"../CoreControllerComponent/CoreControllerComponentTest\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { formatDateTime } from \"../../../Helper/FormatDateTime\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport LeaveTypeComponents from \"./LeaveTypeComponents/LeaveTypeComponents\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\nimport TableReferenceComponent from \"./RefTemplateComponent/TableRefTemplateComponent\";\r\nimport DialogRefTemplateComponent from \"./RefTemplateComponent/DialogRefTemplateComponent\";\r\nimport TemplateVersionComponent from \"./TemplateVersionComponent/TemplateVersionComponent\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IRvsAttribute } from \"../../../IRequestModel/IRvision\";\r\nimport { ILogic } from \"../../../IRequestModel/ILogicModel\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\n\r\ntype Props = {\r\n t: any;\r\n memoDetail: any;\r\n setMemoDetail: any;\r\n masterCompanies: any;\r\n masterEmployee: any;\r\n canEditDoc: boolean;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n setListInToAndPass: any;\r\n listInToAndPass: any;\r\n masterProjects: any;\r\n project: any;\r\n setProject: any;\r\n finFo: any;\r\n isBranchFromADTitle: boolean;\r\n checkedLeaveTemplate: boolean | undefined;\r\n leaveTypeTable: any;\r\n errors: any;\r\n isTextFromValue: boolean;\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n refTempSelected: any;\r\n setRefTempSelected: any;\r\n setSearchRefDocData: any;\r\n searchRefDocData: any;\r\n refAttribute: any;\r\n refOptions: any[];\r\n templateListVersion: any;\r\n selectedTemplateVersion: any;\r\n setSelectedTemplateVersion: any;\r\n isTemplateVersion: boolean;\r\n dialogVisibleInRefTemplate: boolean;\r\n setDialogVisibleInRefTemplate: (value: boolean) => void;\r\n allLogic: any;\r\n reset: any;\r\n onControlChange: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n checkActionPage: string;\r\n buttonType: string;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n isFirstRun: any;\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n isShowSum: boolean;\r\n canEditRefDoc: boolean;\r\n refLoading: boolean;\r\n previousRefTempSelected: any;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n prepareInitialLogic: (logics: ILogic[], templateDesc: any) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n onFocusProps?: () => void;\r\n onBlurProps?: () => void;\r\n setEmployeeList: any;\r\n employeeList: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n};\r\n\r\nconst InformationComponentFix: FC = ({\r\n t,\r\n onProcessLogicReference,\r\n isFirstRun,\r\n memoDetail,\r\n setMemoDetail,\r\n canEditDoc,\r\n masterCompanies,\r\n masterEmployee,\r\n control,\r\n register,\r\n previousRefTempSelected,\r\n isShowSum,\r\n refOptions,\r\n canEditRefDoc,\r\n handleSubmit,\r\n setListFileAttachDetails,\r\n onSubmit,\r\n setListInToAndPass,\r\n listInToAndPass,\r\n masterProjects,\r\n setProject,\r\n project,\r\n finFo,\r\n isBranchFromADTitle,\r\n checkedLeaveTemplate,\r\n leaveTypeTable,\r\n errors,\r\n isTextFromValue,\r\n setTextFromValue,\r\n textFromValue,\r\n refTempSelected,\r\n setRefTempSelected,\r\n setSearchRefDocData,\r\n searchRefDocData,\r\n refAttribute,\r\n templateListVersion,\r\n setSelectedTemplateVersion,\r\n selectedTemplateVersion,\r\n isTemplateVersion,\r\n dialogVisibleInRefTemplate,\r\n setDialogVisibleInRefTemplate,\r\n allLogic,\r\n reset,\r\n onControlChange,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n setLineApproval,\r\n autoNumFormat,\r\n lineApproval,\r\n setValue,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n previousView,\r\n tableSummaries,\r\n setTableSummaries,\r\n listFormNames,\r\n setListRefDocDetails,\r\n refLoading,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n actionAlert,\r\n setButtonType,\r\n onBlurProps,\r\n onFocusProps,\r\n setEmployeeList,\r\n employeeList,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const [dialogVisibleInCompany, setDialogVisibleInCompany] = useState(false);\r\n const [dialogVisibleInEmployee, setDialogVisibleInEmployee] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [hideProject, setIsHideProject] = useState(false);\r\n const [hideBranch, setIsHideBranch] = useState(false);\r\n const [hideTo, setIsHideTo] = useState(false);\r\n const [hideCc, setIsHideCc] = useState(false);\r\n const [hideSubject, setIsHideSubject] = useState(false);\r\n const [typeEmployeeDialog, setTypeEmployeeDialog] = useState(\"\");\r\n const [filteredEmployee, setFilteredEmployee] = useState([]);\r\n const [filterCompany, setFilterCompany] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [linkFile, setLinkFile] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [hasUserManual, setHasUserManual] = useState();\r\n const [searchData, setSearchData] = useState(masterEmployee);\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(listInToAndPass.to);\r\n const [CCValue, setCCValue] = useState(listInToAndPass.pass);\r\n\r\n useEffect(() => {\r\n if (listInToAndPass.to) {\r\n let filtered = listInToAndPass.to.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setToValue(filtered);\r\n }\r\n if (listInToAndPass.pass) {\r\n let filtered = listInToAndPass.pass.filter(\r\n (e: any, idx: number) => idx <= 2\r\n );\r\n setCCValue(filtered);\r\n }\r\n }, [listInToAndPass.to, listInToAndPass.pass]);\r\n\r\n useEffect(() => {\r\n fetchMasterData();\r\n checkHasFifoFunction();\r\n }, []);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n\r\n function checkHasFifoFunction() {\r\n var _finFo = finFo;\r\n if (_finFo) {\r\n if (_finFo.Value4?.toLowerCase() === \"true\") {\r\n if (_finFo.Value1 && _finFo.Value2) {\r\n const _display = _finFo.Value1.split(\"|\");\r\n const _dataReplace = _finFo.Value2.split(\"|\");\r\n for (let index = 0; index < _display.length; index++) {\r\n const element = _display[index];\r\n const element2 = _dataReplace[index];\r\n var documentElement: any = document.getElementById(\r\n element\r\n ) as HTMLDivElement | null;\r\n if (documentElement) {\r\n documentElement.innerHTML = element2;\r\n }\r\n }\r\n }\r\n if (_finFo.Value3 === \"true\") {\r\n setIsHideProject(true);\r\n }\r\n if (_finFo.Value5 !== \"\" && _finFo.Value5 !== null) {\r\n const _showBranch = _finFo.Value5.split(\"|\");\r\n if (_showBranch.length >= 1) {\r\n if (_showBranch[0] == \"true\") {\r\n setIsHideBranch(true);\r\n }\r\n }\r\n if (_showBranch.length >= 2) {\r\n if (_showBranch[1] === \"true\") {\r\n setIsHideTo(true);\r\n }\r\n }\r\n if (_showBranch.length >= 3) {\r\n if (_showBranch[2] === \"true\") {\r\n setIsHideCc(true);\r\n }\r\n }\r\n if (_showBranch.length >= 4) {\r\n if (_showBranch[3] === \"true\") {\r\n setIsHideSubject(true);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n function showModalCompany() {\r\n if (filterCompany != \"\") {\r\n setFilterCompany(\"\");\r\n }\r\n setDialogVisibleInCompany(!dialogVisibleInCompany);\r\n }\r\n\r\n const onSelectedCompany = (data: any) => {\r\n let com_name = data.CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + data.NameEn;\r\n } else {\r\n com_name = com_name + data.NameTh;\r\n }\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n company_id: data.CompanyId,\r\n company_name: com_name,\r\n checkChangeComp: true,\r\n }));\r\n setDialogVisibleInCompany(false);\r\n };\r\n\r\n const searchEmployeeToAndPass = (event: any) => {\r\n setTimeout(async () => {\r\n let _filteredEmployee;\r\n if (employeeList.length <= 0) {\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n }\r\n if (!event.query.trim().length) {\r\n if (employeeList.length > 0) {\r\n _filteredEmployee = [...employeeList];\r\n }\r\n } else {\r\n _filteredEmployee = employeeList.filter((_dataEmployee: any) => {\r\n if (\r\n _dataEmployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.NameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n _dataEmployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n setFilteredEmployee(_filteredEmployee);\r\n }, 250);\r\n };\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModalInEmployeeToAndPass(type: string) {\r\n if (filteredEmployee) {\r\n setFilteredEmployee(\"\");\r\n }\r\n setDialogVisibleInEmployee(!dialogVisibleInEmployee);\r\n console.log({ type });\r\n setTypeEmployeeDialog(type);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employeeList.length <= 0) {\r\n const employee = await GetAllEmployee(req);\r\n setEmployeeList(employee);\r\n setSearchData(employee);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n function insertDataByEnter(event: any, type: any) {\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"to\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...listInToAndPass.to, ...event],\r\n }));\r\n } else if (type === \"pass\") {\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...listInToAndPass.pass, ...event],\r\n }));\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n if (typeEmployeeDialog === \"to\") {\r\n let _components = listInToAndPass;\r\n _components.to.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.to.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components.to],\r\n }));\r\n } else if (typeEmployeeDialog === \"pass\") {\r\n let _components = listInToAndPass;\r\n _components.pass.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n if (checkValue) {\r\n setDialogVisibleInEmployee(false);\r\n return;\r\n }\r\n _components.pass.push(_value);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components.pass],\r\n }));\r\n }\r\n setDialogVisibleInEmployee(false);\r\n }\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n\r\n if (type === \"to\") {\r\n let _components = listInToAndPass.to;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [..._components],\r\n }));\r\n } else if (type === \"pass\") {\r\n let _components = listInToAndPass.pass;\r\n _components = [..._value];\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [..._components],\r\n }));\r\n }\r\n }\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const fetchMasterData = async () => {\r\n const masterDataList = await GetAllMasterData();\r\n let masterData: any[] = [];\r\n let userManual: any[] = [];\r\n if (masterDataList) {\r\n const masterDataType = masterDataList.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((masterlist: any) => {\r\n const userManualMaster = masterlist.Value1.split(\"|\");\r\n let master = userManualMaster.find((e: any) => {\r\n let masterDataList = e === memoDetail.template_code;\r\n return masterDataList;\r\n });\r\n masterData.push(master);\r\n });\r\n }\r\n const userManualList = await GetAllDynamic(\"UserManual/GetAll\", undefined);\r\n if (userManualList) {\r\n const manual = userManualList.find((e: any) => {\r\n let manualList = e.UserManualGroupName === memoDetail.template_code;\r\n return manualList;\r\n });\r\n userManual.push(manual);\r\n }\r\n\r\n if (masterData[0] && userManual[0]) {\r\n if (masterData[0] === userManual[0].UserManualGroupName) {\r\n setHasUserManual(true);\r\n const [nameFileSplit, linkFileSplit] =\r\n userManual[0].AttachFile.split(\"|\");\r\n setNameFile(nameFileSplit);\r\n setLinkFile(linkFileSplit);\r\n } else {\r\n setHasUserManual(false);\r\n }\r\n }\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n\r\n // useEffect(() => {\r\n // showMore(\"to\");\r\n // }, [listInToAndPass.to]);\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = listInToAndPass.to.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = listInToAndPass.pass.filter((e: any) => e !== event);\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: [...filtered],\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n\r\n return (\r\n {\r\n console.log(\"info=>listInToAndPass\", listInToAndPass);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
{t(\"information\")}
\r\n
\r\n

\r\n {memoDetail?.status === \"New Request\" &&\r\n memoDetail.template_code + \": \" + memoDetail.template_name}\r\n {memoDetail?.status !== \"New Request\" && memoDetail.template_name}\r\n

\r\n {hasUserManual === true ? (\r\n <>\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n

{memoDetail?.document_no}

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

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Request Date\r\n

\r\n \r\n วันที่ร้องขอเอกสาร\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n {formatDateTime(memoDetail?.request_date)}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Company\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n

\r\n บริษัท\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!hideBranch && (\r\n <>\r\n \r\n \r\n \r\n \r\n Branch\r\n

\r\n \r\n สาขา\r\n

\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideTo && (\r\n <>\r\n \r\n \r\n \r\n \r\n To\r\n

\r\n

\r\n เรียน\r\n

\r\n \r\n \r\n \r\n\r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto = e.target.value.split(\",\");\r\n insertDataByEnter(auto, \"to\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"to\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.to.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({listInToAndPass.to.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"to\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n {!hideCc && (\r\n <>\r\n \r\n \r\n \r\n \r\n Cc\r\n

\r\n

\r\n สำเนา\r\n

\r\n \r\n \r\n \r\n \r\n 0 ? \"100%\" : \"38px\"\r\n }`,\r\n }}\r\n >\r\n 3)\r\n ? true\r\n : false\r\n }\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\") {\r\n let auto2 = e.target.value.split(\",\");\r\n insertDataByEnter(auto2, \"pass\");\r\n e.target.value = \"\";\r\n }\r\n }}\r\n onChange={(e) => {\r\n selecteOrTypeListInToAndPass(e, \"pass\");\r\n }}\r\n />\r\n {isMobile && listInToAndPass.pass.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({listInToAndPass.pass.length - 3})\r\n \r\n )}\r\n showModalInEmployeeToAndPass(\"pass\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n {!hideProject && (\r\n \r\n \r\n \r\n \r\n

Project

\r\n

โครงการ

\r\n \r\n \r\n \r\n \r\n {\r\n setProject(event.value);\r\n }}\r\n filter\r\n virtualScrollerOptions={{\r\n itemSize: 38,\r\n }}\r\n panelStyle={{ fontSize: \"13px\" }}\r\n optionLabel=\"ProjectNameWithCode\"\r\n placeholder={\"Select Project\"}\r\n className=\"information-inputTexta-width-Button-Company\"\r\n style={{\r\n borderRadius: \"6px\",\r\n height: 38,\r\n fontSize: \"13px\",\r\n }}\r\n disabled={!canEditDoc}\r\n />\r\n \r\n
\r\n )}\r\n \r\n {!hideSubject && (\r\n <>\r\n \r\n \r\n \r\n
\r\n \r\n Subject\r\n \r\n \r\n {\" \"}\r\n *\r\n \r\n
\r\n \r\n เรื่อง\r\n

\r\n \r\n \r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n subject: event,\r\n }));\r\n }}\r\n valueProps={memoDetail.subject}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n \r\n )}\r\n
\r\n {refAttribute?.mode && refAttribute?.position === \"Top\" && (\r\n <>\r\n {canEditRefDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n setLabelProps={\"Add\"}\r\n loading={refLoading}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n {checkedLeaveTemplate && (\r\n \r\n )}\r\n \r\n {isTemplateVersion && (\r\n \r\n )}\r\n \r\n \r\n {!isTextFromValue && (\r\n \r\n )}\r\n {isTextFromValue && (\r\n \r\n )}\r\n \r\n {isShowSum && (\r\n \r\n \r\n \r\n \r\n \r\n

All Total

\r\n \r\n \r\n {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: e.target.value,\r\n }));\r\n }}\r\n onBlur={(e) => {\r\n getLineApproveForAmount(memoDetail.amount);\r\n }}\r\n disabled={!listFormNames.IsTextForm}\r\n id=\"AllTotal\"\r\n />\r\n \r\n
\r\n \r\n
\r\n )}\r\n \r\n {refAttribute?.mode && refAttribute?.position === \"Bottom\" && (\r\n <>\r\n {canEditDoc ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n {\r\n setDialogVisibleInRefTemplate(true);\r\n }}\r\n loading={refLoading}\r\n setLabelProps={\"Add\"}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={!canEditDoc}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n Reference Template\r\n

\r\n {/* * */}\r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n <>\r\n \r\n \r\n {refAttribute?.mode && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InformationComponentFix;\r\n","import React, { useState, useEffect, FC } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./LineApprovalsComponent.css\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IApproverModel } from \"../../../IRequestModel/IApproverModel\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useBreakpoint from \"antd/lib/grid/hooks/useBreakpoint\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { FcApproval } from \"react-icons/fc\";\r\nimport { Modal } from \"antd\";\r\n\r\ntype Props = {\r\n lineApproval: any;\r\n setLineApproval: any;\r\n employeeList: any;\r\n signatureList: any[];\r\n canEditLineApproval: boolean;\r\n currentLevel: number;\r\n t: any;\r\n memoDetail: any;\r\n setEmployeeList: any;\r\n employee: any;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => Promise;\r\n};\r\n\r\nconst LineApprovalsComponentFix: FC = ({\r\n lineApproval,\r\n employeeList,\r\n signatureList,\r\n canEditLineApproval,\r\n setLineApproval,\r\n currentLevel,\r\n t,\r\n memoDetail,\r\n setEmployeeList,\r\n employee,\r\n getLineApproveForAmount,\r\n}) => {\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const [visibleConfirmProp, setVisibleConfirmProp] = useState(false);\r\n const { lg } = useBreakpoint();\r\n const [rowDeleted, setRowDeleted] = useState();\r\n const [fromIndex, setFromIndex] = useState(1);\r\n const [moveToNumber, setMoveToNumber] = useState(1);\r\n const [moveToDialogVisible, setMoveToDialogVisible] = useState(false);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [searchData, setSearchData] = useState(employeeList);\r\n const { toggleAlert } = useAlert();\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n const [hightLight, setHightLight] = useState([]);\r\n useEffect(() => {\r\n lineApproval.sort((a: any, b: any) => {\r\n return a.sequence - b.sequence;\r\n });\r\n\r\n setHightLight(\r\n lineApproval.filter(\r\n (a: any) => memoDetail.current_approval_level === a.sequence\r\n )\r\n );\r\n }, []);\r\n\r\n const confirmDialogfunction = (rowDeleted: any) => {\r\n setVisibleConfirmProp(true);\r\n setRowDeleted(rowDeleted);\r\n };\r\n\r\n function rowDelete(rowIndex: any) {\r\n let data = lineApproval;\r\n data.splice(rowIndex, 1);\r\n let reoderSequence = data.map((e: any, i: number) => {\r\n e.sequence = i + 1;\r\n return e;\r\n });\r\n setLineApproval([...reoderSequence]);\r\n }\r\n\r\n const actionBodyTemplate = (rowData: any, options: any) => {\r\n if (canEditLineApproval && currentLevel < rowData.sequence) {\r\n return (\r\n \r\n confirmDialogfunction(options.rowIndex)}\r\n />\r\n \r\n );\r\n }\r\n };\r\n\r\n async function toggleModal() {\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployeeList(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n if (currentLevel !== 0) {\r\n if (e.dropIndex > currentLevel) {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n } else {\r\n console.log(\"line=>e\", e, currentLevel);\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"warning\",\r\n });\r\n }\r\n } else {\r\n for (let i = 0; i < e.value.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n e.value[i].sequence = a;\r\n }\r\n setLineApproval(e.value);\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n addData(data);\r\n };\r\n\r\n function addData(empData: any) {\r\n try {\r\n const raw = lineApproval;\r\n const lastData = lineApproval[lineApproval.length - 1];\r\n let data: IApproverModel = empData;\r\n const defSignature = signatureList[0];\r\n\r\n if (lastData != undefined) {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: lastData.lineid + 1,\r\n sequence: lastData.sequence + 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n } else {\r\n let newData: IListApprovalDetailsModel = {\r\n approver: data,\r\n emp_id: data.EmployeeId,\r\n lineid: 1,\r\n sequence: 1,\r\n signature_en: defSignature.Value2,\r\n signature_id: defSignature.MasterId,\r\n signature_th: defSignature.Value1,\r\n ColumnJsonCondValue: \"\",\r\n };\r\n raw.push(newData);\r\n }\r\n\r\n setLineApproval([...raw]);\r\n setDialogVisible(!isDialogVisible);\r\n } catch (error) {\r\n console.log(\"LineApproval=>addData=>error\", error);\r\n }\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n if (canEditLineApproval && currentLevel <= rowData.sequence) {\r\n console.log(\"line=>rowData\", rowData);\r\n\r\n return (\r\n {\r\n if (e.MasterId === rowData.signature_id) {\r\n return e;\r\n }\r\n })[0]\r\n }\r\n options={signatureList}\r\n onChange={(e) => onSelected_Sinatures(e, option.rowIndex)}\r\n optionLabel={userData.Lang === \"EN\" ? \"Value2\" : \"Value1\"}\r\n placeholder=\"Select a Signature\"\r\n />\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n {userData.Lang === \"EN\"\r\n ? rowData.signature_en\r\n : rowData.signature_th}\r\n \r\n
\r\n );\r\n }\r\n };\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any = lineApproval;\r\n line[rowInx].signature_id = event.value.MasterId;\r\n line[rowInx].signature_th = event.value.Value1;\r\n line[rowInx].signature_en = event.value.Value2;\r\n setLineApproval([...line]);\r\n }\r\n\r\n const dynamicTable = (\r\n \r\n {canEditLineApproval && (\r\n {\r\n if (currentLevel < rowData.sequence) {\r\n return (\r\n {\r\n setFromIndex(options.rowIndex);\r\n setMoveToDialogVisible(true);\r\n }}\r\n />\r\n );\r\n }\r\n }}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n )}\r\n\r\n lineData.sequence || options.rowIndex + 1}\r\n // style={{ flexGrow: 0, flexBasis: \"50px\" }}\r\n style={{ width: \"70px\" }}\r\n />\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n // style={{ flexGrow: 1, flexBasis: \"150px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n body={statusBodyTemplate}\r\n // style={{ flexGrow: 1, flexBasis: \"50px\" }}\r\n style={canEditLineApproval ? { width: \"20%\" } : { width: \"25%\" }}\r\n />\r\n\r\n {canEditLineApproval && (\r\n \r\n

Delete

\r\n

ลบ

\r\n \r\n }\r\n body={actionBodyTemplate}\r\n // style={{ width: \"15%\" }}\r\n style={{ width: \"140px\" }}\r\n exportable={false}\r\n >\r\n )}\r\n \r\n );\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setMoveToDialogVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n acceptMoveto(fromIndex, moveToNumber)}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n\r\n const acceptMoveto = (fromIndex: number, targetIndex: number) => {\r\n if (targetIndex > currentLevel) {\r\n moveItem(fromIndex, targetIndex - 1);\r\n } else {\r\n toggleAlert({\r\n description: `Cannot reorder to lower step.`,\r\n message: `Reorder`,\r\n type: \"error\",\r\n });\r\n }\r\n };\r\n\r\n const moveItem = (fromIndex: number, targetIndex: number) => {\r\n try {\r\n let rows = lineApproval !== null ? [...lineApproval] : [];\r\n let updateRow = rows[fromIndex];\r\n rows[fromIndex] = rows[targetIndex];\r\n rows[targetIndex] = updateRow;\r\n for (let i = 0; i < rows.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n rows[i].sequence = a;\r\n }\r\n setLineApproval([...rows]);\r\n setMoveToDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setVisibleConfirmProp(false)}\r\n message={\"Do you want to delete this row?\"}\r\n header=\"Confirmation\"\r\n icon=\"pi pi-info-circle\"\r\n className=\"z-index-confirm\"\r\n acceptClassName=\"p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n rejectClassName=\"p-button p-component p-confirm-dialog-reject p-button p-component p-button-outlined p-button-danger\"\r\n position=\"top\"\r\n accept={() => rowDelete(rowDeleted)}\r\n draggable={false}\r\n />\r\n {canEditLineApproval && (\r\n <>\r\n
\r\n toggleModal()}\r\n />\r\n \r\n {\r\n Modal.confirm({\r\n title: userData.Lang === \"en\" ? \"Confirm\" : \"ยืนยัน\",\r\n content:\r\n userData.Lang === \"en\" ? (\r\n

\r\n Line approval will be re-setting by form condition. Are\r\n you sure to reset?\r\n

\r\n ) : (\r\n

\r\n สายอนุมัติจะถูกตั้งค่าใหม่ตามเงื่อนไขของแบบฟอร์ม\r\n คุณแน่ใจที่จะรีเซ็ตหรือไม่?\r\n

\r\n ),\r\n okText: \"Reset\",\r\n onOk: () =>\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n null,\r\n \"reset\"\r\n ),\r\n okButtonProps: {\r\n title: \"Reset\",\r\n style: {\r\n borderRadius: 6,\r\n borderColor: \"rgb(40, 47, 106);\",\r\n color: \"rgb(40, 47, 106);\",\r\n },\r\n },\r\n cancelButtonProps: {\r\n danger: true,\r\n style: { borderRadius: 6 },\r\n },\r\n });\r\n }}\r\n />\r\n
\r\n \r\n )}{\" \"}\r\n {dynamicTable}\r\n setMoveToDialogVisible(false)}\r\n >\r\n \r\n {\r\n if (e.value <= lineApproval?.length) {\r\n setMoveToNumber(e.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default LineApprovalsComponentFix;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend } from \"react-icons/bi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { FaPrint } from \"react-icons/fa\";\r\nimport { Components } from \"antd/lib/date-picker/generatePicker\";\r\nimport { GeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { BsPencilSquare } from \"react-icons/bs\";\r\nimport { SetCheckAcces } from \"../../Services/MemoService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n memoIdForCopy: any;\r\n pdfData?: string;\r\n memoDetail?: any;\r\n isCheckAcces: boolean;\r\n canEdit: boolean;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (value: boolean) => void;\r\n setCanEdit: (canEdit: boolean) => void;\r\n permission: any;\r\n}\r\nexport const OtherButtonMemoComponent = (props: Props) => {\r\n const [userData, setUserData] = useUserContext();\r\n const [responeData, setResponeData] = useState(props.pdfData);\r\n const [isCheckByOrigin, setIsCheckByOrigin] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n\r\n let _tinyURL = _localStorage.TinyURL;\r\n\r\n useEffect(() => {\r\n console.log(\"memo=>\", props.pdfData);\r\n console.log(\"isShowPdf=>\", props.permission);\r\n setData();\r\n }, []);\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n const buttonEdit = () => {\r\n if (IsCheckAccessEditing() || isCheckByOrigin) {\r\n return (\r\n {\r\n if (props.canEdit || isCheckByOrigin) {\r\n onSetCheckAccess(null);\r\n } else {\r\n props.setCanEdit(true);\r\n }\r\n }}\r\n >\r\n \r\n

Stop editing

\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n if (props.canEdit) {\r\n props.setCanEdit(false);\r\n } else {\r\n onSetCheckAccess(userData.EmployeeId.toString());\r\n }\r\n }}\r\n >\r\n \r\n

isEditing

\r\n \r\n );\r\n }\r\n };\r\n const buttonCopy = () => {\r\n return (\r\n {\r\n window.open(\r\n `${baseUrl}/Request?MemoID=${props.memoIdForCopy}&isCopy`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }}\r\n >\r\n \r\n

{t(\"Copy\")}

\r\n \r\n );\r\n };\r\n const buttonPreviewPdf = () => {\r\n return (\r\n {\r\n var link = \"\";\r\n console.log({ responeData });\r\n\r\n const protocol = window.location.protocol;\r\n const attachPath = responeData?.replaceAll(\r\n `${protocol}//${_tinyURL}`,\r\n \"\"\r\n );\r\n let port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (port) {\r\n _tinyURL = _tinyURL + \":\" + port;\r\n }\r\n }\r\n console.log({\r\n site: `${protocol}//${_tinyURL}/`,\r\n attachPath,\r\n });\r\n\r\n const splitPath = attachPath.split(\"/\") || [];\r\n if (splitPath.length >= 4) {\r\n const rootPath = splitPath[1] || \"\";\r\n const docPath = splitPath[2] || \"\";\r\n\r\n const fullName = splitPath[3] || \"\";\r\n const lastIndex = fullName.lastIndexOf(\".\");\r\n let extension = fullName.substring(lastIndex + 1);\r\n const name = fullName.substring(0, lastIndex);\r\n link = `${protocol}//` + _tinyURL + attachPath;\r\n console.log({\r\n protocol,\r\n _tinyURL,\r\n attachPath,\r\n splitPath,\r\n });\r\n\r\n // ${protocol}//${_tinyURL}\r\n window.open(\r\n `${protocol}//${_tinyURL}/previewAttachment?rootPath=${rootPath}&docPath=${docPath}&ext=${extension}&name=${name}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n }}\r\n >\r\n \r\n

{t(\"Preview Pdf\")}

\r\n \r\n );\r\n };\r\n const onOpenPdfLink = () => {\r\n window.open(`${responeData}`, \"_blank\", \"noreferrer\");\r\n };\r\n const buttonPrintPDF = () => {\r\n return (\r\n {\r\n onOpenPdfLink();\r\n }}\r\n >\r\n \r\n\r\n

{t(\"Print\")}

\r\n \r\n );\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (\r\n props.memoDetail?.memoDetail?.actorCheckAccess?.EmployeeId ===\r\n userData.EmployeeId\r\n ) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const onSetCheckAccess = async (RequesterId?: string | null) => {\r\n props.setIsControlLoading(true);\r\n const checkAccessRequestModel = {\r\n memoid: props.memoDetail.memoDetail.memoid.toString(),\r\n RequesterId: RequesterId,\r\n };\r\n console.log(\"memo=>checkAccessRequestModel\", checkAccessRequestModel);\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n console.log(\"memo=>result\", result);\r\n if (result.result === \"success\") {\r\n if (RequesterId) {\r\n props.setCanEdit(true);\r\n setIsCheckByOrigin(true);\r\n } else {\r\n props.setCanEdit(false);\r\n setIsCheckByOrigin(false);\r\n }\r\n } else if (result.result === \"NotAccess\") {\r\n if (userData.Lang === \"TH\") {\r\n toggleAlert({\r\n description: `มีผู้อื่นกำลังแก้ไขเอกสารอยู่`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `You do not have edit memo.`,\r\n message: `Not Access.`,\r\n type: \"error\",\r\n });\r\n }\r\n props.setCanEdit(false);\r\n }\r\n props.setIsControlLoading(false);\r\n };\r\n\r\n async function setData() {\r\n let respone = await GeneratePDF(\r\n props.memoIdForCopy,\r\n userData,\r\n props.memoDetail\r\n );\r\n // let respone = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${props.memoIdForCopy}`)).json();\r\n console.log(\"memo=>respone\", respone);\r\n\r\n setResponeData(respone);\r\n }\r\n\r\n const checkIsAccessComponent = () => {\r\n if (userData.Lang === \"TH\") {\r\n return (\r\n \r\n เอกสารฉบับนี้กำลังถูกแก้ไขอยู่โดย{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n This memo is editing by{\" \"}\r\n {props.memoDetail.memoDetail?.actorCheckAccess?.NameEn}\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {props.memoDetail.memoDetail?.actorCheckAccess &&\r\n !IsCheckAccessEditing() ? (\r\n checkIsAccessComponent()\r\n ) : (\r\n <>\r\n {responeData ? (\r\n <>{buttonPreviewPdf()}\r\n ) : (\r\n \r\n )}\r\n {props.isCheckAcces && buttonEdit()}\r\n {props.permission === null || props.permission?.Copy === \"T\" ? (\r\n buttonCopy()\r\n ) : (\r\n <>\r\n )}\r\n\r\n {responeData ? (\r\n <>\r\n {(props.permission?.Print === \"T\" || props.permission === null) &&\r\n buttonPrintPDF()}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { IRequestOnSubmit } from \"../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\n\r\nexport const Validation = (\r\n _submitType: string,\r\n memoDetail: IMemoDetailModel,\r\n lineApproval: any,\r\n dateValidField1: any[],\r\n dateValidField2: any[],\r\n message: any[]\r\n) => {\r\n let error_result: any[] = [];\r\n\r\n if (_submitType === \"draft\" || _submitType === \"cancel\") {\r\n if (memoDetail.company_id === 0 && _submitType === \"draft\") {\r\n error_result.push(\"Company\");\r\n }\r\n } else {\r\n if (memoDetail.company_id === 0) {\r\n error_result.push(\"Company\");\r\n }\r\n if (!memoDetail.subject) {\r\n error_result.push(\"Subject\");\r\n }\r\n if (lineApproval.length <= 0) {\r\n error_result.push(\"Line Approve\");\r\n }\r\n if (dateValidField1 !== null && dateValidField2 !== null) {\r\n if (dateValidField1 > dateValidField2) {\r\n error_result.push(message);\r\n }\r\n }\r\n }\r\n return error_result;\r\n};\r\n\r\nexport const ResponeValidation = (_respone: any) => {\r\n var _checkRespone: boolean = false;\r\n try {\r\n if (_respone.includes(\"done\")) {\r\n _checkRespone = true;\r\n }\r\n return _checkRespone;\r\n } catch (error) {\r\n _checkRespone = false;\r\n return _checkRespone;\r\n }\r\n};\r\n","import React from \"react\";\r\nimport {\r\n FunctionComponent,\r\n createContext,\r\n ReactNode,\r\n useState,\r\n useEffect,\r\n} from \"react\";\r\nimport { CheckCanAdminEditCompletedMemo } from \"../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../Services/AuthorizedService\";\r\nimport { useUserContext } from \"./UserContext\";\r\n\r\ntype AdminCanEditCompletedMemoType = {\r\n canEditMemo: boolean;\r\n setCanEditMemo: (can: boolean) => void;\r\n};\r\nconst AdminEditCompletedMemoPermissionContext =\r\n createContext(null);\r\n\r\ninterface AdminCanEditCompletedMemoProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst AdminEditCompletedMemoProvider: FunctionComponent<\r\n AdminCanEditCompletedMemoProviderProps\r\n> = (props) => {\r\n const [userData] = useUserContext();\r\n\r\n const [canEditMemo, setCanEditMemo] = useState(false);\r\n useEffect(() => {\r\n getCanAdminEditCompletedMemo();\r\n }, []);\r\n const getCanAdminEditCompletedMemo = async () => {\r\n const canEdit = await CheckCanAdminEditCompletedMemo();\r\n const isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n console.log({ isAdmin, userData });\r\n if (isAdmin && canEdit) {\r\n setCanEditMemo(canEdit);\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport {\r\n AdminEditCompletedMemoProvider,\r\n AdminEditCompletedMemoPermissionContext,\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AdminEditCompletedMemoPermissionContext } from \"../Context/AdminEditCompletedMemoPermissionContext\";\r\n\r\nconst useAdminEditCompletedMemoPermissionContext = () => {\r\n const context = useContext(AdminEditCompletedMemoPermissionContext);\r\n if (!context)\r\n throw new Error(\r\n \"useAdminEditCompletedMemoPermission Context must be use inside useAdminEditCompletedMemoPermissionContext Provider\"\r\n );\r\n return context;\r\n};\r\n\r\nexport default useAdminEditCompletedMemoPermissionContext;\r\n","import moment from \"moment\";\r\nimport React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport InformationComponentFix from \"../../components/RequestComponents/InformationComponent/InformationComponentFix\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { IMemoDetailModel } from \"../../IRequestModel/IMemoDetailModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n GetMemoAuthorized,\r\n GetMemoAuthorizedViewAndPrint,\r\n} from \"../../Services/AuthorizedService\";\r\nimport { formatToColumns } from \"../../Helper/formatColumn\";\r\nimport { dataCompany } from \"../../Services/CompanyService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Button } from \"antd\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetMemoDetail,\r\n GetMemoDetailOnlyById,\r\n GetMemoHistoryDetail,\r\n GetRefDocTemp,\r\n SetCheckAcces,\r\n ValidateDelegate,\r\n} from \"../../Services/MemoService\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateById,\r\n GetTemplateControlById,\r\n GetTemplateFromDDL,\r\n LoadLogic,\r\n SearchTemplateListEditing,\r\n} from \"../../Services/TemplateService\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport RequestSideBarElement from \"./RequestSideBarElement\";\r\nimport LineApprovalsComponentFix from \"../../components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix\";\r\nimport AttachmentComponent from \"../../components/RequestComponents/AttachmentComponent/AttachmentComponent\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { RequestorComponent } from \"../../components/RequestComponents/RequestorComponent/RequestorComponent\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { GetAllProject } from \"../../Services/ProjectService\";\r\nimport { generateQuickGuid } from \"../../Helper/GenerateGuid\";\r\nimport { ADTitleConfiguration } from \"../../Services/ConfigurationService\";\r\nimport {\r\n GetAllMasterData,\r\n GetLeaveTemplateByEmpId,\r\n getVersionTempVC,\r\n} from \"../../Services/MasterDataService\";\r\nimport { OtherButtonMemoComponent } from \"../../components/MemoButton/MemoButtonetcComponent\";\r\n\r\nimport { formatKeyLogicData } from \"../../Helper/formatKeyLogicData\";\r\nimport {\r\n ILogic,\r\n ILogicPermission,\r\n ILogicReferenceField,\r\n ILogicTypePermission,\r\n ILogicTypeShowHide,\r\n ILogicTypeReference,\r\n ILogicTypeSourceLoad,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeDataLineApprove,\r\n ILogicReferenceInformation,\r\n ILogicTypeSourceRelated,\r\n} from \"../../IRequestModel/ILogicModel\";\r\n\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { IRequestOnSubmit } from \"../../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ResponeValidation, Validation } from \"../../Helper/Validation\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { INumberFormula } from \"../../IRequestModel/INumberFormula\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport {\r\n GetRvsRunning,\r\n GetSaveRunningNumber,\r\n CanAssignMoreThanOne,\r\n CanRequestCommentMoreThanOne,\r\n} from \"../../Services/RequestControlService\";\r\nimport { GetRolePermission } from \"../../Services/RoleServices\";\r\nimport { onCheckMemoPermission } from \"../../Helper/CheckMemoPermission\";\r\nimport {\r\n IApprovaReadHide,\r\n IListApprovalDetailsModel,\r\n} from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { GetApprovalsByMemoIDs } from \"../../Services/LineApprovalsService\";\r\nimport { sorterFunc } from \"../../Helper/SortingFunction\";\r\nimport { genAutoNum } from \"../../Helper/RequestScreenHelper\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport useAdminEditCompletedMemoPermissionContext from \"../../hooks/useAdminEditCompletedMemo\";\r\nimport { IRolePermission } from \"../../IRequestModel/IRolePermission\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { tableSelectOption } from \"../../components/AntdControlComponent/TableComponent/TableComponent\";\r\n\r\nconst RequestScreenFix = () => {\r\n const { toggleAlert } = useAlert();\r\n //PageSetting\r\n const [userData, setUserData] = useUserContext();\r\n const location = useLocation();\r\n const isFirstRun = useRef(true);\r\n const toast = useRef(null);\r\n const { isLoad, setLoad } = useLoading();\r\n const { search } = useLocation();\r\n const history = useHistory();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [sidebarState, setSidebarState] = useState(true);\r\n const [checkUseEffect, setCheckUseEffect] = useState(false);\r\n const [checkActionPage, setCheckActionPage] = useState(\"\");\r\n const [checkedLeaveTemplate, setCheckedLeaveTemplate] = useState();\r\n const [curPage, setCurPage] = useState();\r\n const [selectedView, setSelectedView] = useState();\r\n const [dataTreeSelectProps, setDataTreeSelectProps] = useState({});\r\n const [isControlLoading, _setIsControlLoading] = useState(false);\r\n const [empByUserId, setEmpByUserId] = useState();\r\n const [templateDescrip, setTemplateDescrip] = useState([]);\r\n const [actionAlert, setActionAlert] = useState();\r\n const [prevAmount, setPrevAmount] = useState();\r\n\r\n let showLoadTimer: any = null;\r\n let hideLoadTimer: any = null;\r\n function setIsControlLoading(isShowLoad: boolean) {\r\n if (showLoadTimer !== null) {\r\n clearTimeout(showLoadTimer);\r\n }\r\n if (hideLoadTimer !== null) {\r\n clearTimeout(hideLoadTimer);\r\n }\r\n if (isShowLoad) {\r\n showLoadTimer = setTimeout(() => _setIsControlLoading(true), 10);\r\n } else {\r\n hideLoadTimer = setTimeout(() => _setIsControlLoading(false), 500);\r\n }\r\n }\r\n\r\n //Check Can Edit\r\n const [canEditDoc, setCanEditDoc] = useState(false);\r\n const [canEditLineApprove, setCanEditLineApprove] = useState(false);\r\n const { canEditMemo } = useAdminEditCompletedMemoPermissionContext();\r\n const [isCheckAccess, setIsCheckAccess] = useState(false);\r\n\r\n //MemoPage Value\r\n const [memoId, setMemoId] = useState();\r\n const [memoDetail, setMemoDetail] = useState();\r\n const [listFormNames, setListFormNames] = useState();\r\n const [lineApproval, setLineApproval] = useState([]);\r\n const [listHistoryDetails, setListHistoryDetails] = useState([]);\r\n const [listFileAttachDetails, setListFileAttachDetails] = useState([]);\r\n const [listRefDocDetails, setListRefDocDetails] = useState([]);\r\n const [isTextFromValue, setIsTextFromValue] = useState(false);\r\n const [textFromValue, setTextFromValue] = useState();\r\n //RefDoc Value\r\n const [refTempSelected, setRefTempSelected] = useState([]);\r\n const [refAttribute, setRefAttribute] = useState();\r\n const [searchRefDocData, setSearchRefDocData] = useState([]);\r\n const [refOptions, setRefOptions] = useState([]);\r\n const [dialogVisibleInRefTemplate, setDialogVisibleInRefTemplate] =\r\n useState(false);\r\n const [refLoading, setRefLoading] = useState(false);\r\n const previousRefTempSelected = useRef(null);\r\n const [canEditRefDoc, setCanEditRefDoc] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n const [refValue, setRefValue] = useState();\r\n //MasterData Value\r\n const [masterLeaveSpec, setMasterLeaveSpec] = useState([]);\r\n const [masterSignature, setMasterSignature] = useState([]);\r\n const [masterATDLFT, setMasterATDLFT] = useState([]);\r\n const [masterDLAttach, setMasterDLAttach] = useState();\r\n const [finFo, setFinFo] = useState([]);\r\n const [lRTempCode, setLRTempCode] = useState();\r\n const [mbkOnlyU, setMbkOnlyU] = useState([]);\r\n const [masterProjects, setMasterProjects] = useState([]);\r\n const [masterEmployee, setMasterEmployee] = useState([]);\r\n const [masterCompanies, setMasterCompanies] = useState([]);\r\n const [templateListVersion, setTemplateListVersion] = useState([]);\r\n const [selectedTemplateVersion, setSelectedTemplateVersion] = useState();\r\n const [isTemplateVersion, setIsTemplateVersion] = useState(false);\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n let [jsonConditions, setJsonConditions] = useState();\r\n const [loadingPDF, setLoadingPDF] = useState(false);\r\n const [isShowPdf, setIsShowPdf] = useState(true);\r\n const [isShowSum, setIsShowSum] = useState(false);\r\n const [permission, setPermission] = useState();\r\n const [masterDataValidField, setMasterDataValidField] = useState([]);\r\n const [messageValidField, setMessageValidField] = useState();\r\n const [duration, setDuration] = useState(0);\r\n const [resultLogicRelated, setResultLogicRelated] = useState({});\r\n //autoApprove\r\n const [requestActionMemo, setRequestActionMemo] = useState(false);\r\n const [checkRequestActionMemo, setCheckRequestActionMemo] =\r\n useState(false);\r\n //AutoControlAttibute\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [autoNumFormat, setAutoNumFormat] = useState({\r\n formats: [],\r\n showSymbol: false,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n });\r\n\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n const [tableOptions, setTableOptions] = useState([]);\r\n\r\n const previousView = useRef(null);\r\n let previousAmount = useRef(0);\r\n // dialog employee\r\n const [employeeList, setEmployeeList] = useState(masterEmployee);\r\n const [requestDetail, setRequestDetail] = useState();\r\n\r\n useEffect(() => {\r\n previousView.current = selectedView;\r\n }, [selectedView]);\r\n\r\n //Hook form\r\n const {\r\n handleSubmit,\r\n control,\r\n reset,\r\n register,\r\n setValue,\r\n getValues,\r\n setFocus,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n items: memoDetail?.template_desc?.items,\r\n },\r\n mode: \"onChange\",\r\n });\r\n const [listInToAndPass, setListInToAndPass] = useState({\r\n to: [],\r\n pass: [],\r\n });\r\n const [project, setProject] = useState();\r\n const [isBranchFromADTitle, setIsBranchFromADTitle] =\r\n useState(false);\r\n const [isADTitleToPosition, setIsADTitleToPosition] =\r\n useState(false);\r\n const [leaveTypeTable, setLeaveTypeTable] = useState([]);\r\n\r\n const [tableSummaries, setTableSummaries] = useState();\r\n const prevRequestLineapprove = useRef(null);\r\n //RequestorValue\r\n const [requestor, setRequestor] = useState({});\r\n const [creator, setCreator] = useState({});\r\n const [edFont, setEdFont] = useState([]);\r\n console.log(\"memode\", memoDetail);\r\n useEffect(() => {\r\n setLoad(false);\r\n const fetchMasterData = async () => {\r\n setLoad(true);\r\n const masterData = await GetAllMasterData();\r\n const projects = await GetAllProject();\r\n // const employee = await GetAllEmployee();\r\n const companies = await dataCompany();\r\n const isMultiAssign = await CanAssignMoreThanOne();\r\n const isMultiRequestComment = await CanRequestCommentMoreThanOne();\r\n sessionStorage.setItem(\"isMultiAssign\", isMultiAssign.result);\r\n sessionStorage.setItem(\r\n \"isMultiRequestComment\",\r\n isMultiRequestComment.result\r\n );\r\n\r\n setMasterSignature([\r\n ...masterData\r\n .filter((e: any) => {\r\n return e.MasterType === \"Signature\" && e.IsActive === true;\r\n })\r\n .sort((a: any, b: any) => (Number(a.Seq) > Number(b.Seq) ? 1 : -1)),\r\n ]);\r\n setMasterDataValidField([\r\n ...masterData.filter((e: any) => {\r\n return e.MasterType === \"ValidField\" && e.IsActive === true;\r\n }),\r\n ]);\r\n setMasterDLAttach(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"DLAttach\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setFinFo(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"FINFO\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setMasterATDLFT(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"ATDLFT\" && e.IsActive === true;\r\n })[0]\r\n );\r\n setLRTempCode(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LRTempCode\";\r\n })\r\n );\r\n setMbkOnlyU(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"MBKOnly\" && e.IsActive === true;\r\n })\r\n );\r\n setMasterLeaveSpec(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"LeaveSpec\" && e.IsActive === true;\r\n })\r\n );\r\n setEdFont(\r\n masterData.filter((e: any) => {\r\n return e.MasterType === \"EdFont\" && e.IsActive === true;\r\n })[0]\r\n );\r\n\r\n // setMasterEmployee([...employee]);\r\n setMasterProjects([...projects]);\r\n setMasterCompanies([...companies]);\r\n setCheckUseEffect(true);\r\n };\r\n fetchMasterData();\r\n }, []);\r\n const [defaultFont, setDefault] = useState();\r\n const [rishFont, setrishFont] = useState();\r\n useEffect(() => {\r\n if (edFont) {\r\n const fontFormat = edFont.Value1;\r\n const fontSize = edFont.Value2;\r\n setDefault(\r\n \"@import url('../../../../ClientApp/public/font/font.css');body {font-family: '\" +\r\n fontFormat +\r\n \"', sans-serif; font-size : \" +\r\n fontSize +\r\n \";}\"\r\n );\r\n setrishFont(fontFormat);\r\n }\r\n }, [edFont]);\r\n useEffect(() => {\r\n detectLineApproval();\r\n }, [lineApproval]);\r\n\r\n useEffect(() => {\r\n //Check RefTemplate if have show\r\n if (listFormNames) {\r\n if (\r\n listFormNames.RefTemplate === \"\" ||\r\n listFormNames.RefTemplate === \"[]\"\r\n ) {\r\n setRefAttribute([]);\r\n } else {\r\n getAllRefDoc(listFormNames);\r\n }\r\n }\r\n }, [listFormNames]);\r\n\r\n const getAllRefDoc = async (listFormNames: any) => {\r\n if (!listFormNames?.RefDocDisplay) {\r\n return;\r\n }\r\n setRefLoading(true);\r\n let _RefID: string = \"\";\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n const display = listFormNames?.RefDocDisplay?.split(\",\");\r\n if (!refAttribute && display.length > 0) {\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\" ? display[2] : \"DocumentNo\",\r\n isDefaultLineApprove: listFormNames.IsDefaultLineApprove,\r\n optionValue: refValue,\r\n refIdOnQuery: null,\r\n };\r\n setRefAttribute({ ...refObject });\r\n }\r\n const res = await GetRefDocTemp({ template_ID: listFormNames.TemplateId });\r\n if (res) {\r\n checkRefTemplate(listFormNames, listRefDocDetails, res, _RefID);\r\n }\r\n setRefLoading(false);\r\n };\r\n\r\n const detectLineApproval = () => {\r\n if (lineApproval) {\r\n console.log(lineApproval);\r\n\r\n lineApproval.map((line: IListApprovalDetailsModel) => {\r\n if (line.signature_id && line.signature_id !== 0) {\r\n let _signature = masterSignature.find(\r\n (sig: any) => sig.MasterId === line.signature_id\r\n );\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_th = _signature.Value1;\r\n }\r\n } else {\r\n let _signature = masterSignature.find((sig: any) => sig.Seq === \"1\");\r\n if (_signature) {\r\n line.signature_en = _signature.Value2;\r\n line.signature_id = _signature.MasterId;\r\n line.signature_th = _signature.Value1;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (checkUseEffect) {\r\n checkQuery();\r\n }\r\n }, [checkUseEffect, query]);\r\n useEffect(() => {\r\n if (checkRequestActionMemo) {\r\n autoApprove();\r\n }\r\n }, [requestActionMemo]);\r\n\r\n function autoApprove() {\r\n var request: IRequestOnSubmit = {\r\n buttonType: \"approve\",\r\n inputComment: \"\",\r\n waitingFor: \"\",\r\n waitingForId: 0,\r\n };\r\n onSubmit(memoDetail.template_desc, request);\r\n }\r\n const checkQuery = async () => {\r\n setLoad(true);\r\n let canAccess = true;\r\n let _templateId: number = 0;\r\n let _memoId: number = 0;\r\n let _usrId: number = 0;\r\n let _docTypeCode: string | null = \"\";\r\n let _isCopy: boolean = false;\r\n let _isPreview: boolean = false;\r\n let _documentNo: string = \"\";\r\n let _RefID: string = \"\";\r\n\r\n if (query.get(\"DocTypeCode\") && !query.get(\"template\")) {\r\n const _response = await GetTemplateByDocTypeCode({\r\n DocumentCode: query.get(\"DocTypeCode\"),\r\n });\r\n _docTypeCode = query.get(\"DocTypeCode\");\r\n _templateId = _response.TemplateId;\r\n }\r\n\r\n if (query.get(\"template\") && !query.get(\"DocTypeCode\")) {\r\n _templateId = Number(query.get(\"template\"));\r\n }\r\n if (query.get(\"MemoID\") && !query.get(\"DocumentNo\")) {\r\n setMemoId(Number(query.get(\"MemoID\")));\r\n _memoId = Number(query.get(\"MemoID\"));\r\n\r\n const jsonRequest = {\r\n memoid: _memoId,\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n\r\n canAccess = await onCheckPermission(_memoId);\r\n if (\r\n query.get(\"checkRequestActionMemo\") !== null &&\r\n query.get(\"checkRequestActionMemo\") !== undefined\r\n ) {\r\n setCheckRequestActionMemo(true);\r\n }\r\n }\r\n if (!query.get(\"MemoID\") && query.get(\"DocumentNo\")) {\r\n _documentNo = query.get(\"DocumentNo\") || \"\";\r\n }\r\n if (query.get(\"userId\")) {\r\n _usrId = Number(query.get(\"userId\"));\r\n }\r\n if (query.get(\"isCopy\") !== undefined && query.get(\"isCopy\") !== null) {\r\n _isCopy = true;\r\n }\r\n if (query.get(\"preview\") !== undefined && query.get(\"preview\") !== null) {\r\n _isPreview = true;\r\n }\r\n if (query.get(\"RefID\") !== undefined && query.get(\"RefID\") !== null) {\r\n _RefID = query.get(\"RefID\") || \"\";\r\n }\r\n\r\n if (canAccess) {\r\n getInitialData(\r\n _memoId,\r\n _templateId,\r\n _docTypeCode,\r\n _isCopy,\r\n _isPreview,\r\n _usrId,\r\n _documentNo,\r\n _RefID\r\n );\r\n } else {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n };\r\n const onCheckPermission = async (memoid: number) => {\r\n const request = {\r\n MemoId: memoid,\r\n RequesterId: userData.EmployeeId,\r\n RNameEn: userData.Email,\r\n };\r\n const response = await GetMemoAuthorized(request);\r\n if (response === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const getInitialData = async (\r\n _memoId: number,\r\n _templateId: number,\r\n _docTypeCode: string | null,\r\n _isCopy: boolean,\r\n _isPreview: boolean,\r\n _usrId: number,\r\n _documentNo: string,\r\n _RefID: string\r\n // _templateVersionCode: string | null,\r\n // _versionTemplate: string | null\r\n ) => {\r\n try {\r\n let userDataByQuery = null;\r\n setListInToAndPass({\r\n to: [],\r\n pass: [],\r\n });\r\n let hasQueryUserId: boolean = false;\r\n if (_usrId !== 0) {\r\n const _employee = await GetAllEmployee();\r\n\r\n userDataByQuery = _employee.find(\r\n (_emp: any) => _emp.EmployeeId === _usrId\r\n );\r\n if (userDataByQuery) {\r\n hasQueryUserId = true;\r\n }\r\n }\r\n\r\n const requestBody = {\r\n Memoid: _memoId,\r\n TemplateId: _templateId,\r\n DocumentCode: _docTypeCode,\r\n SecretId: \"\",\r\n DocumentNo: _documentNo,\r\n EmployeeId: userDataByQuery\r\n ? userDataByQuery.EmployeeId.toString()\r\n : userData.EmployeeId.toString(),\r\n actor: userDataByQuery ? userDataByQuery : userData,\r\n };\r\n let requestDetail = await GetMemoDetail(requestBody); // beam\r\n setRequestDetail(requestDetail);\r\n\r\n const _isTextForm: boolean =\r\n requestDetail?.requestDetails?.listFormNames[0].IsTextForm;\r\n let logic = await LoadLogic(\r\n requestDetail?.requestDetails.memoDetail.template_id !== 0\r\n ? requestDetail?.requestDetails.memoDetail.template_id\r\n : _templateId\r\n );\r\n const canViewAndPrint =\r\n requestDetail?.requestDetails?.memoDetail?.Permission;\r\n if (canViewAndPrint?.View === \"F\") {\r\n history.push(\"/UnAuthorize\");\r\n }\r\n if (canViewAndPrint?.Print === \"F\") {\r\n setIsShowPdf(false);\r\n }\r\n setPermission(canViewAndPrint);\r\n let memoButtons: any[] = [];\r\n if (_memoId !== 0 || (_documentNo !== null && _documentNo !== \"\")) {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: _memoId,\r\n };\r\n memoButtons = await GetButtonMemoByMemoId(memoButton);\r\n\r\n const menuButtonSort = memoButtons.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMenuButton(menuButtonSort);\r\n setCheckActionPage(\"edit\");\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.memoDetail\r\n .template_desc\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n let templateDescWithLogic =\r\n requestDetail.requestDetails.memoDetail.template_desc;\r\n // if (requestDetail.requestDetails.memoDetail.status === \"Draft\") {\r\n templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n // }\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n if (_template.items) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n if (_isCopy) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n // reset({\r\n // items: _control,\r\n // });\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n // reset({\r\n // items: _template.items,\r\n // });\r\n\r\n //setDefaultTemplateDesc(_template.items);\r\n setIsTextFromValue(false);\r\n }\r\n if (_isCopy) {\r\n const mewLine =\r\n requestDetail?.requestDetails?.listApprovalDetails?.map(\r\n (e: any) => {\r\n e.lineid = 0;\r\n return e;\r\n }\r\n );\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n memoid: 0,\r\n status: \"New Request\",\r\n document_no: \"Auto Generate\",\r\n copyInformation: \"Y\",\r\n creator: userData,\r\n requestor: userData,\r\n current_approval_level: 0,\r\n request_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n created_date: moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\"),\r\n modified_by: userData.EmployeeId.toString(),\r\n created_by: userData.EmployeeId.toString(),\r\n },\r\n listApprovalDetails: mewLine,\r\n listHistoryDetails: [],\r\n },\r\n };\r\n\r\n setCheckActionPage(\"add\");\r\n }\r\n }\r\n //add\r\n else if (_memoId === 0) {\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n dataGetInformationMethodMemoProp(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n setCheckActionPage(\"add\");\r\n\r\n if (_isTextForm) {\r\n setTextFromValue(\r\n requestDetail.requestDetails.listFormNames[0].TextForm\r\n );\r\n setIsTextFromValue(true);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy\r\n );\r\n } else {\r\n requestDetail = {\r\n ...requestDetail,\r\n requestDetails: {\r\n ...requestDetail.requestDetails,\r\n memoDetail: {\r\n ...requestDetail.requestDetails.memoDetail,\r\n template_desc: requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ? {\r\n items: JSON.parse(\r\n requestDetail.requestDetails.listFormNames[0]\r\n .AdvanceForm\r\n ).items.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n }\r\n : {},\r\n },\r\n },\r\n };\r\n\r\n const templateDescWithLogic = await prepareInitialLogic(\r\n logic,\r\n requestDetail.requestDetails.memoDetail.template_desc,\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.memoDetail.requestor\r\n );\r\n\r\n const _template = await detechRevisionControl(\r\n _templateId,\r\n templateDescWithLogic\r\n );\r\n const autoNum = detechAutonumberFormula(_template);\r\n\r\n if (\r\n requestDetail.requestDetails.memoDetail.status === \"New Request\" ||\r\n _isCopy\r\n ) {\r\n if (autoNum.rowIndex !== -1) {\r\n const _control = await genAutoNum(\r\n _template.items,\r\n autoNum,\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.status\r\n );\r\n if (_control) {\r\n setDefaultTemplateDesc(_control);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _control,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n } else {\r\n setDefaultTemplateDesc(_template.items);\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...requestDetail.requestDetails.listApprovalDetails],\r\n _template.items,\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n getLineApproveAtFirsts(\r\n requestDetail.requestDetails.memoDetail,\r\n _isCopy,\r\n _templateDesc\r\n );\r\n }\r\n }\r\n }\r\n setIsTextFromValue(false);\r\n }\r\n }\r\n\r\n detechFormulas(\r\n requestDetail.requestDetails.memoDetail.template_id,\r\n requestDetail.requestDetails.memoDetail.template_desc\r\n );\r\n if (_isPreview) {\r\n setCheckActionPage(\"preview\");\r\n }\r\n if (hasQueryUserId) {\r\n requestDetail.requestDetails.memoDetail.creator = userDataByQuery;\r\n requestDetail.requestDetails.memoDetail.requestor = userDataByQuery;\r\n }\r\n checkTemplateVersion(\r\n requestDetail.requestDetails.listFormNames[0],\r\n requestDetail.requestDetails.memoDetail\r\n );\r\n checkState(\r\n requestDetail.requestDetails.memoDetail.status,\r\n requestDetail.requestDetails.listFormNames[0],\r\n memoButtons\r\n );\r\n\r\n checkLeaveRequestTemplate(\r\n requestDetail.requestDetails.memoDetail.template_code\r\n );\r\n checkDataAndSetFunction(requestDetail.requestDetails.memoDetail);\r\n replaceTitleInfo(requestDetail.requestDetails.memoDetail);\r\n\r\n setMemoDetail(requestDetail.requestDetails.memoDetail);\r\n setRequestor(requestDetail.requestDetails.memoDetail.requestor);\r\n setCreator(requestDetail.requestDetails.memoDetail.creator);\r\n\r\n setLineApproval([...requestDetail.requestDetails.listApprovalDetails]);\r\n\r\n setListHistoryDetails([\r\n ...requestDetail.requestDetails.listHistoryDetails,\r\n ]);\r\n setListFileAttachDetails([\r\n ...requestDetail.requestDetails.listFileAttachDetails,\r\n ]);\r\n\r\n setListRefDocDetails([...requestDetail.requestDetails.listRefDocDetails]);\r\n setListFormNames(requestDetail.requestDetails.listFormNames[0]);\r\n\r\n createTableSums(requestDetail.requestDetails.memoDetail.template_desc);\r\n // setRefTempSelected([]);\r\n setAllLogic([...logic]);\r\n setSelectedView(\"2\");\r\n setCurPage(\"2\");\r\n setLoad(false);\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n }\r\n } catch (error) {\r\n setLoad(false);\r\n console.error(\"Request=>error\", error);\r\n }\r\n setRequestActionMemo(true);\r\n };\r\n\r\n const setDefaultTemplateDesc = (template: any) => {\r\n let templateItems = template;\r\n\r\n if (templateItems) {\r\n for (let i = 0; i < templateItems.length; i++) {\r\n const item = templateItems[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n const templateType = layout.template.type;\r\n\r\n if (\r\n templateType === \"t\" ||\r\n templateType === \"ta\" ||\r\n templateType === \"c\"\r\n ) {\r\n if (!layout.data.value) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.default;\r\n }\r\n } else if (templateType === \"dd\") {\r\n if (\r\n !layout.data.value &&\r\n templateItems[i].layout[j].template.attribute.items &&\r\n templateItems[i].layout[j].template.attribute.items.length > 0\r\n ) {\r\n templateItems[i].layout[j].data.value =\r\n layout.template.attribute.items[0].item;\r\n }\r\n // DefaultCalendar\r\n } else if (templateType === \"d\") {\r\n if (!layout.data.value && layout.template.attribute.default != \"\") {\r\n if (layout.template.attribute.defaultType === \"Days\") {\r\n let defaultDate = parseInt(layout.template.attribute.default);\r\n let defValue = moment(Date.now())\r\n .add(defaultDate, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n layout.data.value = defValue;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n reset({\r\n items: templateItems,\r\n });\r\n return {\r\n items: templateItems,\r\n };\r\n };\r\n useEffect(() => {}, [prevAmount]);\r\n const getLineApproveForAmount = async (\r\n amount: number,\r\n jsonCondition?: any,\r\n logicType?: string,\r\n template?: any,\r\n _requestor?: any\r\n ) => {\r\n let amountToUse = amount !== undefined ? amount : prevAmount;\r\n try {\r\n // testty\r\n if (amount !== undefined || amount === 0 || amount === \"\") {\r\n setPrevAmount(amount);\r\n }\r\n console.log(\"prevAmount\", prevAmount);\r\n\r\n if (logicType === \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amountToUse).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n } else if (!isNaN(amountToUse) && !logicType && logicType !== \"ref\") {\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n amount: Number(amountToUse).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }),\r\n }));\r\n }\r\n let isSummary =\r\n !logicType && isShowSum && amount != previousAmount.current;\r\n if (listFormNames.IsTextForm && isShowSum) {\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonCondition ? jsonCondition : jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: Number(amountToUse),\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n if (responseDataLineApprove) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (logicType || isSummary || amountToUse === 0) {\r\n if (\r\n (memoDetail &&\r\n (template?.type === \"c\" ||\r\n template?.type === \"tb\" ||\r\n ((template?.type === \"t\" ||\r\n template?.type === \"dd\" ||\r\n template?.type === \"r\" ||\r\n template?.type === \"cb\") &&\r\n logicType === \"datalineapprove\"))) ||\r\n logicType === \"requestor\" ||\r\n logicType === \"reset\"\r\n ) {\r\n setIsControlLoading(true);\r\n\r\n let doa: any;\r\n let loc: any;\r\n let spc: any;\r\n let dtp: any;\r\n if (jsonCondition) {\r\n jsonConditions = jsonCondition;\r\n }\r\n const dataJson = {\r\n employee: _requestor ? _requestor : memoDetail.requestor,\r\n ComCode: memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ...memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: amountToUse,\r\n };\r\n const dataJsonApproverType = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(\r\n dataJsonApproverType\r\n );\r\n\r\n if (approverType) {\r\n doa = approverType.find((line: any) => line.ApproveType === 21);\r\n loc = approverType.find((line: any) => line.ApproveType === 19);\r\n spc = approverType.find((line: any) => line.ApproveType === 20);\r\n dtp = approverType.find((line: any) => line.ApproveType === 22);\r\n }\r\n\r\n if ((isSummary && doa) || !!logicType) {\r\n const responseDataLineApprove = await onLoadDataLiveApprove(\r\n dataJson\r\n );\r\n\r\n if (responseDataLineApprove) {\r\n console.log(\r\n \"responseDataLineApprove\",\r\n responseDataLineApprove,\r\n dataJson,\r\n isSummary\r\n );\r\n\r\n if (doa || loc || spc || dtp || logicType === \"reset\") {\r\n if (logicType === \"reset\") {\r\n let data: any[] = [\r\n ...lineApproval.slice(0, memoDetail.current_approval_level),\r\n ...responseDataLineApprove.map((e: any) => {\r\n e.sequence =\r\n e.sequence + memoDetail.current_approval_level;\r\n return e;\r\n }),\r\n ];\r\n\r\n setLineApproval([...data]);\r\n } else {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else if (!(doa || loc || spc || dtp) && jsonCondition) {\r\n setLineApproval([...responseDataLineApprove]);\r\n }\r\n } else {\r\n }\r\n }\r\n\r\n setIsControlLoading(false);\r\n }\r\n if (jsonCondition) {\r\n setJsonConditions(jsonCondition);\r\n }\r\n } else {\r\n previousAmount.current = amount;\r\n }\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const getLineApproveAtFirsts = async (\r\n _memoDetail: any,\r\n _isCopy: boolean,\r\n _templateDesc?: any\r\n ) => {\r\n try {\r\n if (_memoDetail.memoid === 0 && !_isCopy) {\r\n const dataJson = {\r\n employee: _memoDetail.requestor,\r\n ComCode: _memoDetail.company_id,\r\n JsonCondition: jsonConditions,\r\n templateForm: {\r\n ..._memoDetail,\r\n TemplateApproveId: 0,\r\n template_desc: JSON.stringify(_memoDetail.template_desc),\r\n },\r\n lstTRNLineApprove: [],\r\n Amount: 0,\r\n };\r\n\r\n const responseDataLineApprove = await onLoadDataLiveApprove(dataJson);\r\n setLineApproval([...responseDataLineApprove]);\r\n let tempdescItem = _templateDesc;\r\n if (tempdescItem) {\r\n if (responseDataLineApprove.length > 0) {\r\n let _templateDesc = await initialActionFiedFormLineApprove(\r\n [...responseDataLineApprove],\r\n tempdescItem,\r\n _memoDetail\r\n );\r\n if (_templateDesc) {\r\n setDefaultTemplateDesc(_templateDesc);\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"LineApprove=>error\", error);\r\n }\r\n };\r\n\r\n const onLoadDataLiveApprove = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const onLoadLiveApproveType = async (dataJson: any) => {\r\n const respone = await fetch(\"api/LineApprove/GetLineApproveType\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n };\r\n\r\n const initialActionFiedFormLineApprove = async (\r\n dataLineApprove: any,\r\n _templateDesc: any,\r\n _memoDetail: any\r\n ) => {\r\n const _datalineapprove = dataLineApprove;\r\n // template setting readonly\r\n const currentApprovals = _datalineapprove.find(\r\n (e: any) =>\r\n e.sequence === _memoDetail.current_approval_level &&\r\n e.emp_id === userData.EmployeeId\r\n );\r\n\r\n if (\r\n !currentApprovals ||\r\n currentApprovals.ColumnJsonCondValue == null ||\r\n currentApprovals.ColumnJsonCondValue == undefined ||\r\n currentApprovals.ColumnJsonCondValue == \"\"\r\n ) {\r\n return _templateDesc;\r\n }\r\n\r\n let action: any;\r\n let isShow: boolean = false;\r\n let showTemplate: {\r\n isShow: boolean;\r\n pos: {\r\n row: number;\r\n col: number;\r\n tableCols?: number[];\r\n notUseCols?: number[];\r\n }[];\r\n readonly?: boolean;\r\n notInPos: { row: number; col: number }[];\r\n } = { isShow: false, pos: [], notInPos: [] };\r\n if (_memoDetail.current_approval_level === 0) {\r\n for (let i = 0; i < _datalineapprove.length; i++) {\r\n if (\r\n _datalineapprove[i].ColumnJsonCondValue !== null ||\r\n _datalineapprove[i].ColumnJsonCondValue !== undefined ||\r\n _datalineapprove[i].ColumnJsonCondValue !== \"\"\r\n ) {\r\n action = _datalineapprove[i].ColumnJsonCondValue;\r\n const jsonValue: IApprovaReadHide =\r\n action && action.length > 0 && JSON.parse(action);\r\n if (jsonValue) {\r\n if (\r\n _memoDetail.status === \"New Request\" ||\r\n _memoDetail.status === \"Rework\"\r\n ) {\r\n if (jsonValue.isRequester === \"Y\") {\r\n if (_memoDetail.status === \"Rework\") {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n let layout = _templateDesc[x].layout;\r\n for (let y = 0; y < layout.length; y++) {\r\n let template = layout[y].template;\r\n if (template.type === \"tb\") {\r\n for (\r\n let z = 0;\r\n z <\r\n _templateDesc[x].layout[y].template.attribute.column\r\n .length;\r\n z++\r\n ) {\r\n let column =\r\n _templateDesc[x].layout[y].template.attribute\r\n .column[z];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n if (_templateDesc[x].layout[y]) {\r\n if (\r\n _templateDesc[x].layout[y].template.type !== \"l\" &&\r\n _templateDesc[x].layout[y].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[x].layout[y].template.attribute) {\r\n _templateDesc[x].layout[\r\n y\r\n ].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n _templateDesc[x].layout[y].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[x].layout[y].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n const layout = _templateDesc[x].layout;\r\n if (jsonValue.fieldaction) {\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n isShow = true;\r\n } else {\r\n showTemplate.readonly = false;\r\n isShow = false;\r\n }\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let j = 0; j < layout.length; j++) {\r\n const templateLayouts = layout[j];\r\n\r\n const tbCol = field.label.split(\" : \");\r\n if (tbCol[1] === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n if (tbCol[2] === e.control.template.label) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n let layout = _templateDesc[x].layout;\r\n for (let y = 0; y < layout.length; y++) {\r\n let template = layout[y].template;\r\n if (template.type === \"tb\") {\r\n for (\r\n let z = 0;\r\n z < _templateDesc[x].layout[y].template.attribute.column.length;\r\n z++\r\n ) {\r\n let column =\r\n _templateDesc[x].layout[y].template.attribute.column[z];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n if (_templateDesc[x].layout[y]) {\r\n if (\r\n _templateDesc[x].layout[y].template.type !== \"l\" &&\r\n _templateDesc[x].layout[y].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[x].layout[y].template.attribute) {\r\n _templateDesc[x].layout[y].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[x].layout[y].isShow = true;\r\n } else {\r\n _templateDesc[x].layout[y].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[x].layout[y].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n if (currentApprovals) {\r\n if (\r\n currentApprovals.ColumnJsonCondValue !== null ||\r\n currentApprovals.ColumnJsonCondValue !== undefined ||\r\n currentApprovals.ColumnJsonCondValue !== \"\"\r\n ) {\r\n action = currentApprovals.ColumnJsonCondValue;\r\n const jsonValue: IApprovaReadHide =\r\n action && action.length > 0 && JSON.parse(action);\r\n if (jsonValue) {\r\n const dataJson = {\r\n TemplateId: _memoDetail.template_id,\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n const isDelegate = await ValidateDelegate(dataJson);\r\n\r\n if (currentApprovals || isDelegate) {\r\n for (let x = 0; x < _templateDesc.length; x++) {\r\n const layout = _templateDesc[x].layout;\r\n if (jsonValue.fieldaction) {\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n isShow = true;\r\n } else {\r\n showTemplate.readonly = false;\r\n isShow = false;\r\n }\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let j = 0; j < layout.length; j++) {\r\n const templateLayouts = layout[j];\r\n\r\n const tbCol = field.label.split(\" : \");\r\n if (tbCol[1] === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n if (tbCol[2] === e.control.template.label) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n col: j,\r\n row: x,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (showTemplate.pos.length > 0) {\r\n if (_memoDetail.status !== \"New Request\") {\r\n for (let i = 0; i < showTemplate.notInPos.length; i++) {\r\n const pos = showTemplate.notInPos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n for (\r\n let x = 0;\r\n x <\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column\r\n .length;\r\n x++\r\n ) {\r\n let column =\r\n _templateDesc[pos.row].layout[pos.col].template.attribute\r\n .column[x];\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n if (_templateDesc[pos.row].layout[pos.col]) {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n if (_templateDesc[pos.row].layout[pos.col].template.attribute) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"N\";\r\n }\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n if (pos.tableCols?.length === 0) {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column =\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column.map(\r\n (column: any, colIndex: number) => {\r\n if (pos.notUseCols?.includes(colIndex)) {\r\n column.control.template.attribute.readonly = \"N\";\r\n column.isShow = true;\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"N\";\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n }\r\n }\r\n }\r\n }\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (_templateDesc[pos.row].layout[pos.col].template.type === \"tb\") {\r\n if (pos.tableCols?.length === 0) {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n _templateDesc[pos.row].layout[pos.col].template.attribute.column =\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column.map((column: any, colIndex: number) => {\r\n if (pos.tableCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.readonly = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n }\r\n return column;\r\n });\r\n } else {\r\n if (\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"l\" &&\r\n _templateDesc[pos.row].layout[pos.col].template.type !== \"em\"\r\n ) {\r\n if (showTemplate.readonly) {\r\n _templateDesc[pos.row].layout[\r\n pos.col\r\n ].template.attribute.readonly = \"Y\";\r\n _templateDesc[pos.row].layout[pos.col].isShow = true;\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n } else {\r\n _templateDesc[pos.row].layout[pos.col].isShow = isShow;\r\n }\r\n }\r\n }\r\n }\r\n return _templateDesc;\r\n };\r\n\r\n const detechFormulas = async (_templateId: number, templateDesc: any) => {\r\n let _formulas: any[] = [];\r\n let isSummary: boolean = false;\r\n let total = 0;\r\n for (let i = 0; i < templateDesc?.items?.length; i++) {\r\n const templateItems = templateDesc?.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const layout = templateItems.layout[j];\r\n let formu: INumberFormula;\r\n if (layout.template.type === \"c\") {\r\n if (\r\n layout.template.attribute.formula !== \"\" &&\r\n layout.template.attribute.formula !== null\r\n ) {\r\n formu = {\r\n formula: layout.template.attribute.formula,\r\n rowIndex: i,\r\n colIndex: j,\r\n };\r\n _formulas.push(formu);\r\n }\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIndex: number) => {\r\n if (col.control.template.type === \"c\") {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n isSummary = true;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n const dataJsonApproverType = {\r\n TemplateId: _templateId,\r\n };\r\n\r\n const approverType = await onLoadLiveApproveType(dataJsonApproverType);\r\n\r\n if (approverType) {\r\n const doa = approverType.find((e: any) => e.ApproveType === 21);\r\n if (doa) {\r\n isSummary = true;\r\n }\r\n }\r\n\r\n setIsShowSum(isSummary);\r\n setNumFormulas([..._formulas]);\r\n };\r\n\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n try {\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.template.attribute) {\r\n layout.template.attribute.formats.map((formats: any) => {\r\n for (let i = 0; i < formats.format.length; i++) {\r\n if (formats.format[i]) {\r\n formats.format.map((f: any) => {\r\n if (f.condition === \"Split\") {\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n setAutoNumFormat(_autoFormats);\r\n return _autoFormats;\r\n } catch (error) {\r\n console.log(\"auto=>error\", error);\r\n return _autoFormats;\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (_templateId: any, templateDesc: any) => {\r\n try {\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n\r\n if ((layout.template.attribute.conditions || []).length > 0) {\r\n layout.template.attribute.conditions.map((con: any) => {\r\n templateDesc.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n const revision = await GetRvsRunning(requestBody);\r\n if (\r\n revision.item >\r\n templateDesc.items[rowIndex].layout[colIndex].data.value\r\n ) {\r\n templateDesc.items[rowIndex].layout[colIndex].data.value =\r\n revision.item;\r\n }\r\n }\r\n\r\n return templateDesc;\r\n } catch (error) {\r\n console.log(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n const prepareInitialLogic = async (\r\n logics: ILogic[],\r\n templateDesc: any,\r\n memoStatus?: string,\r\n requestor?: any\r\n ) => {\r\n let dataGroup: any = [];\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelated: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n console.log(\"logiuc=>templateDesc\", templateDesc);\r\n\r\n let eiei = JSON.stringify(templateDesc);\r\n\r\n let _templateDesc = JSON.parse(eiei);\r\n\r\n _templateDesc = {\r\n items: _templateDesc?.items?.map((item: any) => {\r\n return {\r\n ...item,\r\n layout: item.layout.map((_layout: any) => {\r\n return {\r\n ..._layout,\r\n isShow: true,\r\n };\r\n }),\r\n };\r\n }),\r\n };\r\n for (let i = 0; i < logics?.length; i++) {\r\n const logic = logics[i];\r\n console.log(\"logic=>\", logic);\r\n\r\n if (logic.logictype === \"datasourceload\") {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.label) {\r\n dataSourceLoadGroup.push({\r\n isInTable: false,\r\n col: j,\r\n row: i,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n } else {\r\n for (\r\n let k = 0;\r\n k < _layout.template.attribute.column.length;\r\n k++\r\n ) {\r\n const column = _layout.template.attribute.column[k];\r\n if (column.label === jsonValue.label) {\r\n console.log({ logic });\r\n dataSourceLoadGroup.push({\r\n isInTable: true,\r\n col: j,\r\n row: i,\r\n tableColumn: k,\r\n data: logic.logicid,\r\n jsonValue: logic.jsonvalue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"role\") {\r\n let showTemplate: {\r\n isShow: boolean;\r\n pos: {\r\n row: number;\r\n col: number;\r\n tableCols?: number[];\r\n notUseCols?: number[];\r\n }[];\r\n readonly?: boolean;\r\n notInPos: { row: number; col: number }[];\r\n } = { isShow: false, pos: [], notInPos: [] };\r\n\r\n const jsonValue: ILogicTypeShowHide =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n if (jsonValue.action !== \"showpdf\") {\r\n if (jsonValue.roleids && jsonValue.roleids.length > 0) {\r\n let userRole: IRolePermission[] = [];\r\n let roles: IRolePermission[] = await GetRolePermission();\r\n roles.filter((r) => r.IsDelete === false);\r\n for (let i = 0; i < roles.length; i++) {\r\n const role = roles[i];\r\n if (role.EmployeeId === userData.EmployeeId) {\r\n userRole.push(role);\r\n }\r\n }\r\n const isShow = onCheckUserRolePermissionInLogic(\r\n userRole,\r\n jsonValue.roleids\r\n );\r\n\r\n if (jsonValue.action === \"readonly\") {\r\n showTemplate.readonly = true;\r\n }\r\n showTemplate.isShow = isShow;\r\n console.log({ action: jsonValue.action, showTemplate });\r\n\r\n if (jsonValue.fieldaction) {\r\n for (let k = 0; k < jsonValue.fieldaction.length; k++) {\r\n const field = jsonValue.fieldaction[k];\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const templateLayouts = templateItems.layout[j];\r\n if (field.lable === templateLayouts.template.label) {\r\n if (field.type === \"tb\") {\r\n let targetCols: number[] = [];\r\n let notTargetCols: number[] = [];\r\n\r\n templateLayouts.template.attribute.column.forEach(\r\n (e: any, colIndex: number) => {\r\n const selectedCol = field.column?.find(\r\n (col) => col.Key === e.control.template.label\r\n );\r\n if (selectedCol) {\r\n targetCols?.push(colIndex);\r\n } else {\r\n notTargetCols.push(colIndex);\r\n }\r\n }\r\n );\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n tableCols: targetCols,\r\n notUseCols: notTargetCols,\r\n });\r\n } else {\r\n showTemplate.pos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n } else {\r\n showTemplate.notInPos.push({\r\n row: i,\r\n col: j,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n console.log({ showTemplate });\r\n\r\n if (showTemplate.pos.length > 0) {\r\n console.log(\"logic=>showTemplate\", showTemplate);\r\n for (let i = 0; i < showTemplate.pos.length; i++) {\r\n const pos = showTemplate.pos[i];\r\n if (\r\n _templateDesc.items[pos.row].layout[pos.col].template.type ===\r\n \"tb\"\r\n ) {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = true;\r\n _templateDesc.items[pos.row].layout[\r\n pos.col\r\n ].template.attribute.column = _templateDesc.items[\r\n pos.row\r\n ].layout[pos.col].template.attribute.column.map(\r\n (column: any, colIndex: number) => {\r\n if (pos.tableCols?.includes(colIndex)) {\r\n if (showTemplate.readonly) {\r\n column.control.template.attribute.require = \"Y\";\r\n }\r\n column.isShow = isShow;\r\n console.log(column);\r\n }\r\n return column;\r\n }\r\n );\r\n } else {\r\n _templateDesc.items[pos.row].layout[pos.col].isShow = isShow;\r\n console.log(\r\n _templateDesc.items[pos.row].layout[pos.col].template.type\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"reference\") {\r\n let responseData: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = null;\r\n JSON.parse(logic.jsonvalue);\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n if (jsonValue.Filter.length > 0) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n responseData = await onProcessLogicReference(\r\n logic,\r\n _layout.template,\r\n _layout.data.value,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n console.log({\r\n memoStatus,\r\n rowLength:\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row,\r\n });\r\n\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row ||\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n console.log({ responseData });\r\n }\r\n }\r\n } else {\r\n responseData = await onProcessLogicReferenceNoFilter(\r\n logic,\r\n _templateDesc.items\r\n );\r\n if (responseData) {\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData!.loadTo.length; i++) {\r\n const field = responseData!.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n for (\r\n let j = 0;\r\n j <\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n templateDesc?.items[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n console.log({\r\n memoStatus,\r\n rowLength:\r\n _templateDesc.items[responseData.row].layout[responseData.col]\r\n .data.row,\r\n });\r\n\r\n if (\r\n resRow.length > 0 &&\r\n (!_templateDesc.items[responseData.row].layout[responseData.col]\r\n .data.row ||\r\n _templateDesc.items[responseData.row].layout[responseData.col]\r\n .data?.row?.length === 0)\r\n ) {\r\n _templateDesc.items[responseData.row].layout[\r\n responseData.col\r\n ].data.row = [...resRow];\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"datareladtoloaddata\") {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n let newTableOptions: {\r\n loadtoLabel: string;\r\n options: any[];\r\n } = { loadtoLabel: jsonValue.autoloadvaluelabel.label, options: [] };\r\n\r\n // const { dataJson, loadTo, actionFrom } = await onFindDataJson(_templateDesc, jsonValue,logic);\r\n let rowIdx = 0;\r\n const conditions = jsonValue.conditions;\r\n\r\n conditions.forEach((e: any) => {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type === \"tb\") {\r\n for (\r\n let l = 0;\r\n l < _layout.template.attribute.column.length;\r\n l++\r\n ) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (tbCol.control.template.label === e.label) {\r\n if (_layout.data.row) {\r\n rowIdx = _layout.data.row.length;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n for (let x = 0; x < rowIdx; x++) {\r\n const responseData = await onProcessLogicDataRelatedToLoadData(\r\n _templateDesc,\r\n logic,\r\n jsonValue,\r\n x\r\n );\r\n console.log(\"newTableOptions=>\", responseData);\r\n if (responseData) {\r\n if (responseData.data) {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n\r\n if (_layout.template.type === \"tb\") {\r\n for (\r\n let l = 0;\r\n l < _layout.template.attribute.column.length;\r\n l++\r\n ) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (\r\n tbCol.control.template.label ===\r\n newTableOptions.loadtoLabel\r\n ) {\r\n if (_layout.data) {\r\n if (\r\n tbCol.control.template.label ===\r\n newTableOptions.loadtoLabel\r\n ) {\r\n //const rawData: any = await onDatareladToLoadData(dataJson);\r\n if (_layout.data.row) {\r\n for (\r\n let m = 0;\r\n m < _layout.data.row.length;\r\n m++\r\n ) {\r\n // newTableOptions.options = new Array(\r\n // _layout.data.row?.length\r\n // ).fill(responseData);\r\n }\r\n newTableOptions.options.push({\r\n actionsCol: {\r\n label: jsonValue.labelactions,\r\n rowIdx: responseData.actionFrom.row,\r\n colIdx: responseData.actionFrom.col,\r\n value:\r\n templateItems[tbCol.control.template.label],\r\n },\r\n targetCol: {\r\n label: newTableOptions.loadtoLabel,\r\n rowIdx: responseData.loadTo.row,\r\n colIdx: responseData.loadTo.col,\r\n options: responseData.data.data,\r\n },\r\n });\r\n console.log(\"newTableOptions=>\", newTableOptions);\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 if (newTableOptions.options.length > 0) {\r\n setTableOptions([...newTableOptions.options]);\r\n }\r\n } else if (logic.logictype === \"refinfomation\") {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n console.log(\"refinfomation=>\", jsonValue);\r\n if (memoStatus === \"New Request\") {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type !== \"tb\") {\r\n if (_layout.template.label === jsonValue.condition) {\r\n console.log(\"refinfomation=> requestor\", requestor);\r\n if (jsonValue.required === \"Requestor_Employee_code\") {\r\n _layout.data.value = requestor.EmployeeCode;\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Name\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.NameEn;\r\n } else {\r\n _layout.data.value = requestor.NameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Positon\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.PositionNameEn;\r\n } else {\r\n _layout.data.value = requestor.PositionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Division\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DivisionNameEn;\r\n } else {\r\n _layout.data.value = requestor.DivisionNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Department\") {\r\n if (requestor.DefaultLang === \"EN\") {\r\n _layout.data.value = requestor.DepartmentNameEn;\r\n } else {\r\n _layout.data.value = requestor.DepartmentNameTh;\r\n }\r\n } else if (jsonValue.required === \"Requestor_Email\") {\r\n _layout.data.value = requestor.Email;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === \"datasourcerelated\") {\r\n const logicRelated = logic;\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n let dataValue;\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n\r\n if (_layout.template.label === jsonValue.label) {\r\n dataValue = _layout.data.value;\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: jsonValue.label,\r\n Value: dataValue,\r\n logicid: logicRelated.logicid,\r\n };\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n dataJson,\r\n jsonValue,\r\n templateDesc\r\n );\r\n\r\n if (responseData) {\r\n let newControl = _templateDesc.items;\r\n\r\n for (let i = 0; i < responseData.relateGroup.length; i++) {\r\n const relateGroup = responseData.relateGroup[i];\r\n for (let j = 0; j < responseData.data.length; j++) {\r\n const relateData = responseData.data[j];\r\n newControl[relateGroup.row].layout[relateGroup.col].data.value =\r\n relateData[relateGroup.relateValue.value];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataGroup.push({\r\n type: \"datasourceload\",\r\n dataGroup: dataSourceLoadGroup,\r\n });\r\n }\r\n console.log({ dataGroup });\r\n\r\n const initialLogicData: any[] = await getInitialLogicData(dataGroup);\r\n\r\n for (let i = 0; i < initialLogicData.length; i++) {\r\n const logicData = initialLogicData[i];\r\n\r\n const processData = formatKeyLogicData(logicData);\r\n if (logicData.isInTable === false || logicData.isInTable === undefined) {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.items = processData.data;\r\n } else {\r\n _templateDesc.items[processData.row].layout[\r\n processData.col\r\n ].template.attribute.column[\r\n processData.tableColumn\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n }\r\n\r\n console.log(\"logic=>_templateDesc\", _templateDesc);\r\n\r\n return _templateDesc;\r\n };\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicDataSourceRelated = async (\r\n dataJson: any,\r\n jsonValue: any,\r\n _templateDesc: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < _templateDesc?.items?.length; j++) {\r\n const item = _templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.label === relateValue.label) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return responseDataSourceLoadRelated;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n _templateDesc: any,\r\n logic: ILogic,\r\n jsonValue: any,\r\n rowIdx: number\r\n ) => {\r\n const { dataJson, loadTo, actionFrom } = await onFindDataJson(\r\n _templateDesc,\r\n jsonValue,\r\n logic,\r\n rowIdx\r\n );\r\n\r\n console.log(\"logic=>response\", dataJson, loadTo, actionFrom);\r\n if (dataJson) {\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const onFindDataJson = (\r\n templateDesc: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logic: any,\r\n rowIdx: number\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const conditions = jsonValue.conditions;\r\n const _templateDesc = templateDesc;\r\n console.log(\"conditions\", conditions);\r\n\r\n conditions.forEach((e) => {\r\n for (let i = 0; i < _templateDesc.items.length; i++) {\r\n const templateItems = _templateDesc.items[i];\r\n for (let j = 0; j < templateItems.layout.length; j++) {\r\n const _layout = templateItems.layout[j];\r\n if (_layout.template.type === \"tb\") {\r\n for (let l = 0; l < _layout.template.attribute.column.length; l++) {\r\n const tbCol = _layout.template.attribute.column[l];\r\n if (tbCol.control.template.label === e.label) {\r\n if (_layout.data.row) {\r\n console.log(\"_dataJson=>\", _layout.data.row[rowIdx][l].value);\r\n response.dataJson.push({\r\n Key: tbCol.control.template.label,\r\n Value: _layout.data.row[rowIdx][l].value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n if (\r\n jsonValue.autoloadvaluelabel.label ===\r\n tbCol.control.template.label\r\n ) {\r\n response.loadTo = {\r\n col: l,\r\n row: rowIdx,\r\n };\r\n }\r\n }\r\n } else {\r\n if (_layout.template.label === e.label) {\r\n response.dataJson.push({\r\n Key: e.label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n response.actionFrom = { row: j, col: i };\r\n }\r\n }\r\n });\r\n\r\n console.log(\"logic=>response\", response);\r\n\r\n return response;\r\n };\r\n\r\n const getInitialLogicData = async (dataGroup: any) => {\r\n let dataSourceLoad: any = [];\r\n const dataSourceLoadGroup: any[] = dataGroup.filter(\r\n (group: any) => group.type === \"datasourceload\"\r\n );\r\n console.log({ dataSourceLoadGroup });\r\n\r\n if (dataSourceLoadGroup.length > 0) {\r\n dataSourceLoad = await onDataSourceLoad(dataSourceLoadGroup);\r\n }\r\n return [...dataSourceLoad];\r\n };\r\n\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n function onCheckUserRolePermissionInLogic(\r\n userRoles: IRolePermission[],\r\n accessRoles: {\r\n id: number;\r\n }[]\r\n ) {\r\n for (let i = 0; i < userRoles.length; i++) {\r\n const userRole = userRoles[i];\r\n for (let j = 0; j < accessRoles.length; j++) {\r\n const accessRole = accessRoles[j];\r\n if (userRole.RoleId === Number(accessRole.id)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n const onFilterLoadtoField = (label: string, templateDesc: any) => {\r\n for (let i = 0; i < templateDesc.length; i++) {\r\n const item = templateDesc[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.label === label) {\r\n return { row: i, col: j };\r\n }\r\n }\r\n }\r\n };\r\n const onFilterRefFilterField = (\r\n refFilter: ILogicReferenceField[],\r\n currentFieldValue: any\r\n ) => {\r\n let _refFilter: ILogicReferenceField[] = [];\r\n\r\n for (let i = 0; i < currentFieldValue.length; i++) {\r\n const item = currentFieldValue[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n for (let i = 0; i < refFilter.length; i++) {\r\n const _ref = refFilter[i];\r\n if (_ref.TBColumn === layout.template.label) {\r\n _refFilter.push({\r\n MSTColumn: _ref.MSTColumn,\r\n TBColumn: layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n return _refFilter;\r\n };\r\n const onLoadReferenceData = async (dataJson: {\r\n jsonValue: ILogicTypeReference;\r\n refFilter: ILogicReferenceField[];\r\n }) => {\r\n let orCondition = \"\";\r\n const refFilterValueEqualComlumAll = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn === dataJson.jsonValue.ColumnAll\r\n );\r\n if (refFilterValueEqualComlumAll.length > 0) {\r\n for (let i = 0; i < refFilterValueEqualComlumAll.length; i++) {\r\n const ref = refFilterValueEqualComlumAll[i];\r\n orCondition = `(${ref.MSTColumn}='${ref.TBColumn}' OR ${dataJson.jsonValue.ColumnAll}='All')`;\r\n }\r\n }\r\n\r\n let condition = \"\";\r\n\r\n let refFilterValue: ILogicReferenceField[] = dataJson.refFilter.filter(\r\n (_ref) => _ref.MSTColumn !== dataJson.jsonValue.ColumnAll\r\n );\r\n\r\n for (let i = 0; i < refFilterValue.length; i++) {\r\n const ref = refFilterValue[i];\r\n if (i !== refFilterValue.length - 1) {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"' AND \";\r\n } else {\r\n condition = condition + ref.MSTColumn + \"='\" + ref.TBColumn + \"'\";\r\n }\r\n }\r\n if (refFilterValue.length === 0) {\r\n condition = \"1 = 1\";\r\n }\r\n\r\n const _dataJson = {\r\n ...dataJson.jsonValue,\r\n orCondition,\r\n condition,\r\n };\r\n console.log({\r\n dataJson,\r\n refFilterValue,\r\n orCondition,\r\n condition,\r\n refFilterValueEqualComlumAll,\r\n });\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(_dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n });\r\n return dataSource;\r\n };\r\n const onProcessLogicReference = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n console.log({ control, jsonValue, controlTemplate });\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFilter = onFilterRefFilterField(jsonValue.Filter, control);\r\n\r\n if (\r\n refFilter.length > 0 &&\r\n loadTo &&\r\n jsonValue.Filter.filter((_ref) => _ref.TBColumn === controlTemplate.label)\r\n .length > 0\r\n ) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onProcessLogicReferenceNoFilter = async (\r\n logic: ILogic,\r\n control: any\r\n ) => {\r\n let responseDataReference: {\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null = {\r\n loadTo: [],\r\n data: [],\r\n row: -1,\r\n col: -1,\r\n };\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n const loadTo = onFilterLoadtoField(jsonValue.label, control);\r\n const refFil: any = jsonValue.Filter;\r\n\r\n if (loadTo && jsonValue.Filter.length === 0) {\r\n const dataJson = {\r\n jsonValue,\r\n refFilter: refFil,\r\n };\r\n const refData: { DT: any[] } = await onLoadReferenceData(dataJson);\r\n responseDataReference.data = refData.DT;\r\n responseDataReference.col = loadTo.col;\r\n responseDataReference.row = loadTo.row;\r\n responseDataReference.loadTo = jsonValue.Column;\r\n return responseDataReference;\r\n }\r\n return null;\r\n };\r\n\r\n const onControlChange = async (\r\n controlName: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => {\r\n if (controlValue === \"FA | Financial and Accounting\") {\r\n const _controlString = JSON.stringify(getValues(\"items\"));\r\n let _control = JSON.parse(_controlString);\r\n _control[1].layout[1].data.value = \"100\";\r\n controlUpdate(1, {\r\n ..._control[1],\r\n layout: [..._control[1].layout],\r\n });\r\n console.log({ controlName, controlValue, _control });\r\n }\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n let responseGroup: any[] = [];\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i].dataGroup;\r\n let dataJson: any[] = [];\r\n\r\n for (let j = 0; j < dataSource.length; j++) {\r\n let jsonValue: any = JSON.parse(dataSource[j].jsonValue);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n // test json\r\n body: JSON.stringify({\r\n logicid: dataSource[j].data,\r\n Key: jsonValue.SQLCommand || jsonValue ? \"Requestor id\" : \"\",\r\n Value:\r\n jsonValue.SQLCommand || jsonValue\r\n ? memoDetail?.requestor === undefined\r\n ? userData.EmployeeId.toString()\r\n : memoDetail?.requestor.EmployeeId.toString()\r\n : \"\",\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"logic=>data\", data);\r\n\r\n if (!dataSource[j].isInTable) {\r\n responseGroup.push({\r\n isInTable: dataSource.isInTable,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n } else {\r\n responseGroup.push({\r\n isInTable: dataSource[j].isInTable,\r\n tableColumn: dataSource[j].tableColumn,\r\n data: data,\r\n row: dataSource[j].row,\r\n col: dataSource[j].col,\r\n });\r\n }\r\n });\r\n }\r\n console.log(\"logic=>dataJson\", dataJson);\r\n }\r\n console.log(\"logic=>responseGroup\", responseGroup);\r\n\r\n return responseGroup;\r\n };\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (!isEmptyObject(requestor)) {\r\n checkedLeaveTemplateLogic(requestor);\r\n }\r\n\r\n if (memoDetail?.memoid === 0) {\r\n if (memoDetail?.checkChangeComp !== true) {\r\n if (\r\n requestor.CompanyNameTh === \"\" ||\r\n requestor.CompanyNameEn === \"\"\r\n ) {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = requestor.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = requestor.CompanyNameTh;\r\n }\r\n memoDetail.company_id = requestor.CompanyId;\r\n }\r\n }\r\n }\r\n });\r\n }, [requestor]);\r\n async function checkedLeaveTemplateLogic(_requestor: any) {\r\n if (checkedLeaveTemplate) {\r\n var _responeData = await GetLeaveTemplateByEmpId(_requestor.EmployeeId);\r\n console.log(_responeData, \"_responeData\");\r\n\r\n setLeaveTypeTable(_responeData);\r\n }\r\n const temp = await prepareInitialLogic(\r\n allLogic,\r\n memoDetail.template_desc,\r\n memoDetail.statusm,\r\n memoDetail.requestor\r\n );\r\n console.log(\"request=>temp\", temp);\r\n memoDetail.template_desc = temp;\r\n setMemoDetail(memoDetail);\r\n\r\n // for MBK SITE only\r\n if (mbkOnlyU !== null && mbkOnlyU.length > 0) {\r\n console.log(\"xxxxxx\", mbkOnlyU[0].Value1);\r\n if (mbkOnlyU[0].Value1 === \"True\") {\r\n console.log(\"reset\", mbkOnlyU);\r\n reset(temp);\r\n }\r\n }\r\n }\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (condition.label === controlTemplate.label) {\r\n conditions.push({\r\n label: condition.label,\r\n value: controlValue ? controlValue.toLocaleString() : \"0\",\r\n action: condition.action,\r\n });\r\n } else {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (\r\n condition.label === layout.template.label &&\r\n layout.template.label !== controlTemplate.label\r\n ) {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n async function renderSelectedRequestor(_requestor: any) {\r\n try {\r\n console.log(checkActionPage);\r\n // initial save JsonCondition(logictype=\"datalineapprove\") when change requestor\r\n // when change requestor the current level must be 0\r\n setMemoDetail((prevState: any) => ({\r\n ...prevState,\r\n current_approval_level: 0,\r\n }));\r\n\r\n if (checkActionPage) {\r\n if (memoDetail) {\r\n let allTemplateControl: any;\r\n if (memoDetail.template_desc.items) {\r\n allTemplateControl = memoDetail.template_desc.items.map(\r\n (item: any) => {\r\n return item;\r\n }\r\n );\r\n } else {\r\n allTemplateControl = \"\";\r\n }\r\n\r\n const logicDataLineApprove = allLogic.find((item: any) => {\r\n return item.logictype === \"datalineapprove\";\r\n });\r\n\r\n if (logicDataLineApprove) {\r\n const logiceiei = JSON.parse(logicDataLineApprove.jsonvalue);\r\n memoDetail.template_desc.items.map(async (detail: any) => {\r\n const desc = detail.layout.find(\r\n (item: any) => item.template.label === logiceiei.label\r\n );\r\n if (desc) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logicDataLineApprove,\r\n desc,\r\n desc.data.value,\r\n allTemplateControl\r\n );\r\n\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n responseData,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n });\r\n } else {\r\n getLineApproveForAmount(\r\n Number(memoDetail.amount.replaceAll(\",\", \"\")),\r\n undefined,\r\n \"requestor\",\r\n undefined,\r\n _requestor\r\n );\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"renderSelectedRequestor=>error\", error);\r\n }\r\n }\r\n\r\n async function checkTemplateVersion(listFormName: any, memoDetail: any) {\r\n if (listFormName.IsFormControl) {\r\n const _templateApproveId = Number(memoDetail.TemplateApproveId);\r\n let _listTemplate = await SearchTemplateListEditing({\r\n TemplateId: null,\r\n CreatedBy: userData.EmployeeId.toString(),\r\n });\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n let arrayEditingVersion = [];\r\n let arrayEditing = [];\r\n for (let i = 0; i < _listTemplate.length; i++) {\r\n const element = _listTemplate[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n if (_element.value3 === \"Editing\")\r\n arrayEditingVersion.push(element);\r\n }\r\n }\r\n }\r\n\r\n setTemplateListVersion(arrayEditingVersion);\r\n let _responseTemplate: any;\r\n if (memoDetail.TemplateApproveId) {\r\n _responseTemplate = await SearchTemplateListEditing({\r\n TemplateId: _templateApproveId,\r\n });\r\n if (_responseTemplate) {\r\n _responseTemplate = await GetTemplateById({\r\n TemplateId: _templateApproveId,\r\n });\r\n }\r\n console.log(\"_responseTemplate\", _responseTemplate);\r\n\r\n if (_responseTemplate[0]) {\r\n setSelectedTemplateVersion(_responseTemplate[0]);\r\n } else {\r\n setSelectedTemplateVersion(_responseTemplate);\r\n }\r\n }\r\n setIsTemplateVersion(true);\r\n }\r\n }\r\n\r\n const checkLeaveRequestTemplate = async (template_code: string) => {\r\n var _lRTempCode = lRTempCode;\r\n if (_lRTempCode) {\r\n for (let index = 0; index < _lRTempCode.length; index++) {\r\n if (_lRTempCode[index].Value1 === template_code) {\r\n setCheckedLeaveTemplate(true);\r\n } else {\r\n setCheckedLeaveTemplate(false);\r\n }\r\n }\r\n }\r\n };\r\n const replaceTitleInfo = async (memoDetail: IMemoDetailModel) => {\r\n var _responeADTitle = await ADTitleConfiguration();\r\n if (_responeADTitle?.activeBranchFromADTitle?.toLowerCase() === \"true\") {\r\n setIsBranchFromADTitle(true);\r\n }\r\n if (_responeADTitle?.activeADTitleToPosition?.toLowerCase() === \"false\") {\r\n if (memoDetail?.requestor?.ADTitle) {\r\n setIsADTitleToPosition(true);\r\n }\r\n }\r\n };\r\n const checkDataAndSetFunction = async (memoDetail: IMemoDetailModel) => {\r\n if (!memoDetail.template_detail || !memoDetail.document_set) {\r\n const _guid = generateQuickGuid();\r\n memoDetail.template_detail = _guid;\r\n memoDetail.document_set = _guid;\r\n }\r\n\r\n if (memoDetail.memoid === 0) {\r\n if (userData.CompanyNameTh === \"\" || userData.CompanyNameEn === \"\") {\r\n if (masterCompanies.length === 1) {\r\n let com_name = masterCompanies[0].CompanyCode + \" : \";\r\n if (userData.Lang === \"EN\") {\r\n com_name = com_name + masterCompanies[0].NameEn;\r\n } else {\r\n com_name = com_name + masterCompanies[0].NameTh;\r\n }\r\n memoDetail.company_name = com_name;\r\n memoDetail.company_id = masterCompanies[0].CompanyId;\r\n }\r\n } else {\r\n if (userData.Lang === \"EN\") {\r\n memoDetail.company_name = userData.CompanyNameEn;\r\n } else {\r\n memoDetail.company_name = userData.CompanyNameTh;\r\n }\r\n memoDetail.company_id = userData.CompanyId;\r\n }\r\n }\r\n\r\n if (memoDetail.project_id !== 0) {\r\n masterProjects.map((_item: any) => {\r\n if (memoDetail.project_id === _item.ProjectId) {\r\n setProject(_item);\r\n }\r\n });\r\n }\r\n if (memoDetail.to) {\r\n const _spited = memoDetail.to.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n to: _spited,\r\n }));\r\n }\r\n if (memoDetail.pass) {\r\n const _spited = memoDetail.pass.split(\",\");\r\n setListInToAndPass((prevState: any) => ({\r\n ...prevState,\r\n pass: _spited,\r\n }));\r\n }\r\n };\r\n const checkState = (\r\n memoStatus: string,\r\n listFormName: any,\r\n memoButtons: any[]\r\n ) => {\r\n if (\r\n memoStatus === \"Draft\" ||\r\n memoStatus === \"New Request\" ||\r\n memoStatus === \"Rework\" ||\r\n memoStatus === \"Recall\"\r\n ) {\r\n setCanEditDoc(true);\r\n setCanEditRefDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(listFormName.IsRequesterEditApproval);\r\n }\r\n } else if (\r\n memoStatus === \"Completed\" ||\r\n memoStatus === \"Rejected\" ||\r\n memoStatus === \"Cancelled\"\r\n ) {\r\n console.log({ memoButtons });\r\n if (memoButtons.length > 0) {\r\n setCanEditDoc(true);\r\n }\r\n setCanEditLineApprove(false);\r\n } else {\r\n if (listFormName.ApproverCanEdit) {\r\n setCanEditDoc(true);\r\n if (listFormName.IsRequesterEditApproval) {\r\n setCanEditLineApprove(listFormName.IsRequesterEditApproval);\r\n }\r\n } else {\r\n setCanEditDoc(false);\r\n }\r\n if (listFormName.IsCheckAccess) {\r\n setIsCheckAccess(true);\r\n }\r\n }\r\n };\r\n async function checkRefTemplate(\r\n template: any,\r\n listRefDocDetails: any,\r\n refDocs: any,\r\n _RefID: string\r\n ) {\r\n const temp = template;\r\n try {\r\n if (temp) {\r\n if (temp?.RefDocDisplay && temp.RefTemplate) {\r\n let _refDoc: any[] = [];\r\n const display = temp?.RefDocDisplay.split(\",\");\r\n const _refTemplate = JSON.parse(temp.RefTemplate);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n refDocs.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n ref[display[2]] = ref.SelectField.value;\r\n if (typeof ref[display[2]] === \"string\") {\r\n _refDoc.push(ref);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n _refDoc = refDocs;\r\n }\r\n\r\n let refObject: any = {\r\n option: [],\r\n position: display[0],\r\n mode: display[1],\r\n optionLabel:\r\n display[2] !== \"Information DocumentNo\"\r\n ? display[2]\r\n : \"DocumentNo\",\r\n isDefaultLineApprove: _refTemplate[0].IsDefaultLineApprove,\r\n refIdOnQuery: null,\r\n };\r\n setRefOptions([..._refDoc.filter((e: any) => e)]);\r\n if (_RefID !== \"\") {\r\n const results = _refDoc.filter(\r\n (refDoc: any) => refDoc.DocumentNo === _RefID\r\n );\r\n refObject.refIdOnQuery = _RefID;\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n } else if (listRefDocDetails?.length > 0) {\r\n const refDocsDetail: any[] = listRefDocDetails;\r\n let results = refDocs.filter(\r\n (refDoc: any) =>\r\n refDocsDetail.find(\r\n (docDetail: any) => docDetail.memoRefdoc_id === refDoc.MemoId\r\n ) || refDoc.DocumentNo === _RefID\r\n );\r\n if (results.length === 0) {\r\n let dataJson: any[] = [];\r\n listRefDocDetails.forEach((e: any) => {\r\n userData.SignPicPath = \"\";\r\n dataJson.push({\r\n memoid: e.memoRefdoc_id,\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n });\r\n });\r\n results = await GetMemoDetailOnlyById(dataJson);\r\n if (display[2] !== \"Information DocumentNo\") {\r\n results = results.map((ref: any) => {\r\n if (ref !== null) {\r\n if (display[2] !== \"Information DocumentNo\") {\r\n let refTemp = JSON.parse(ref.Template_desc);\r\n refTemp.items.forEach((col: any, rowIdx: number) => {\r\n col.layout.forEach((_layout: any, colIdx: number) => {\r\n if (_layout.template.label === display[2]) {\r\n if (_layout.template.type === \"c\") {\r\n ref[display[2]] = Number(\r\n _layout.data.value\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n _layout.template.attribute.decimal\r\n ),\r\n });\r\n } else {\r\n if (_layout.data.value) {\r\n ref[display[2]] = _layout.data.value;\r\n } else {\r\n ref[display[2]] = \"\";\r\n }\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"results\", results, ref, refDocsDetail);\r\n if (typeof ref[display[2]] === \"string\") {\r\n let res: any = {\r\n MemoId: ref.Memoid,\r\n เลขที่เอกสาร: ref.doc_no,\r\n TemplateName: ref.Template_name,\r\n MemoSubject: ref.Subject,\r\n };\r\n res[display[2]] = ref[display[2]];\r\n console.log(\"res\", res);\r\n return res;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n previousRefTempSelected.current = results;\r\n setRefTempSelected(results);\r\n }\r\n setRefAttribute({ ...refObject });\r\n setSearchRefDocData([..._refDoc]);\r\n } else {\r\n setRefTempSelected([]);\r\n setRefAttribute(undefined);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n const print = () => {\r\n // console.log(\"---------------------MemoPage Value-----------------------\");\r\n console.log(\"memoDetail=>\", memoDetail);\r\n // console.log(\"checkActionPage=>\", checkActionPage);\r\n // console.log({ errors });\r\n // console.log(\"lineApproval=>\", lineApproval);\r\n console.log(\"listFormNames=>\", listFormNames);\r\n // console.log(\"listHistoryDetails=>\", listHistoryDetails);\r\n // console.log(\"listFileAttachDetails=>\", listFileAttachDetails);\r\n // console.log(\"listRefDocDetails=>\", listRefDocDetails);\r\n // console.log(\"---------------------RefDoc Attibute-----------------------\");\r\n console.log(\"refAttibute=>\", refAttribute);\r\n console.log(\"refTempSelected=>\", refTempSelected);\r\n console.log(\"searchRefDocData=>\", searchRefDocData);\r\n\r\n // console.log(\"---------------------MasterData-----------------------\");\r\n // console.log(\"masterSignature=>\", masterSignature);\r\n // console.log(\"validField\", masterDataValidField);\r\n // console.log(\"masteProjects=>\", masteProjects);\r\n // console.log(\"masteEmployee=>\", masteEmployee);\r\n // console.log(\"masteCompanies=>\", masteCompanies);\r\n // console.log(\"searchTemplateListEditing=>\", searchTemplateListEditing);\r\n // console.log(\"menuButton=>\", menuButton);\r\n console.log(\"allLogic=>\", allLogic);\r\n // console.log(\"finFo=>\", finFo);\r\n // console.log(\"listRefDocs=>\", listRefDocs);\r\n // console.log(\"---------------------Can Edit-----------------------\");\r\n // console.log(\"canEditDoc=>\", canEditDoc);\r\n // console.log(\"table=>tableSummaries\", tableSummaries);\r\n // console.log(\"autoNumFormat=>\", autoNumFormat);\r\n };\r\n function dataGetInformationMethodMemoProp(\r\n listFormName: any,\r\n memoDetail: IMemoDetailModel\r\n ) {\r\n memoDetail.memoid = 0;\r\n memoDetail.request_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.created_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.status = \"New Request\";\r\n memoDetail.modified_date = moment(new Date()).format(\"DD/MM/YYYY HH:mm:ss\");\r\n memoDetail.modified_by = userData.EmployeeId.toString();\r\n memoDetail.created_by = userData.EmployeeId.toString();\r\n memoDetail.creator = userData;\r\n memoDetail.requestor = userData;\r\n memoDetail.report_lang = listFormName.ReportLang;\r\n memoDetail.auto_approve = listFormName.AutoApprove;\r\n memoDetail.auto_approve_when = listFormName.AutoApproveWhen;\r\n memoDetail.GroupTemplateName = listFormName.GroupTemplateName;\r\n memoDetail.template_id = listFormName.TemplateId;\r\n memoDetail.template_name = listFormName.TemplateName;\r\n memoDetail.template_code = listFormName.DocumentCode;\r\n memoDetail.document_no = \"Auto Generate\";\r\n memoDetail.waiting_for = userData.NameTh;\r\n memoDetail.waiting_for_id = userData.EmployeeId;\r\n memoDetail.company_name = \"\";\r\n memoDetail.company_id = 0;\r\n memoDetail.project_id = 0;\r\n memoDetail.project = \"\";\r\n memoDetail.subject = listFormName.TemplateSubject;\r\n memoDetail.amount = \"\";\r\n memoDetail.to = listFormName.ToId;\r\n memoDetail.pass = listFormName.CcId;\r\n }\r\n\r\n function toggleSideBar() {\r\n setSidebarState(!sidebarState);\r\n }\r\n\r\n const onSelectView = (text: string) => {\r\n console.log(text, \"props.curPage\");\r\n\r\n setCurPage(text);\r\n setSelectedView(text);\r\n };\r\n\r\n const createTableSums = (templateDesc: any) => {\r\n let sumIntable: any[] = [];\r\n templateDesc?.items?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"tb\") {\r\n const cols = layout.template.attribute.column;\r\n let sum: any = {};\r\n cols.forEach((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n sum[e.label] = 0;\r\n }\r\n });\r\n sumIntable.push({ tableTemp: layout.template, AllCol: sum });\r\n }\r\n });\r\n });\r\n\r\n setTableSummaries([...sumIntable]);\r\n };\r\n\r\n function CheckValidField(formData: any) {\r\n const getCheckValid = [];\r\n let datepicker1: any;\r\n let datepicker2: any;\r\n let datepickerLabel1: any;\r\n let datepickerLabel2: any;\r\n if (masterDataValidField) {\r\n try {\r\n const ValidField = masterDataValidField[0];\r\n const masterDataValid = ValidField.Value2.split(\"|\");\r\n const masterDataLabel1 = masterDataValid[0].toString();\r\n const masterDataLabel2 = masterDataValid[1].toString();\r\n\r\n setMessageValidField(masterDataValidField[0].Value4);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.template.label === masterDataLabel1) {\r\n datepicker1 = layout;\r\n datepickerLabel1 = datepicker1.template.label;\r\n }\r\n if (layout.template.label === masterDataLabel2) {\r\n datepicker2 = layout;\r\n datepickerLabel2 = datepicker2.template.label;\r\n }\r\n });\r\n });\r\n if (\r\n datepickerLabel1 === masterDataLabel1 &&\r\n datepickerLabel2 === masterDataLabel2\r\n ) {\r\n let newDate1 = new Date(datepicker1.data.value);\r\n let newDate2 = new Date(datepicker2.data.value);\r\n getCheckValid.push(newDate1, newDate2);\r\n }\r\n } catch (error) {\r\n console.log(\"masterDataValid=>error\", error);\r\n }\r\n }\r\n return getCheckValid;\r\n }\r\n\r\n const onSubmit = async (formData: any, data: IRequestOnSubmit) => {\r\n // variables RequestScreen\r\n console.log(formData, \"formData\");\r\n\r\n const _submitType = data.buttonType;\r\n let _memoDetail: IMemoDetailModel = memoDetail;\r\n let _lineApproval: any[] = lineApproval;\r\n let dateValidField1: any = CheckValidField(formData)[0];\r\n let dateValidField2: any = CheckValidField(formData)[1];\r\n let _listHistoryDetails: any[] = listHistoryDetails;\r\n let _listFileAttachDetails: any[] = listFileAttachDetails;\r\n let _listRefDocDetails: any[] = listRefDocDetails;\r\n let _listControlRunning: any[] = [];\r\n let _listFormNames = listFormNames;\r\n let _userData: IUserModel = userData;\r\n // variables Information\r\n let _listInToAndPass: any = listInToAndPass;\r\n let _project: any = project;\r\n let _tempVersion: any = selectedTemplateVersion;\r\n let message: any = masterDataValidField\r\n ? masterDataValidField[0]\r\n ? masterDataValidField[0].Value4\r\n : \"\"\r\n : \"\";\r\n // test validatt\r\n const dataJson = {\r\n TemplateId: memoDetail.template_id,\r\n };\r\n let _templateIdList: any = await GetTemplateControlById(dataJson);\r\n const _validation = Validation(\r\n _submitType,\r\n memoDetail,\r\n lineApproval,\r\n dateValidField1,\r\n dateValidField2,\r\n message\r\n );\r\n if (\r\n _templateIdList.templateForm?.RequiredAttachment === true &&\r\n _listFileAttachDetails.length === 0\r\n ) {\r\n toggleAlert({\r\n description: `Required Attachment`,\r\n message: `Required Attachment.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n setLoad(true);\r\n\r\n if (!isTextFromValue) {\r\n CheckValidField(formData);\r\n formData.items.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (layout.data.value === null) {\r\n layout.data.value = layout.template?.attribute?.default;\r\n }\r\n });\r\n });\r\n\r\n const formatFormData = formData?.items?.map((item: any, idx: number) => {\r\n return {\r\n ...item,\r\n layout: item.layout?.map((_layout: any, idx2: number) => {\r\n if (_layout.template.type === \"l\") {\r\n return {\r\n ..._layout,\r\n template: {\r\n ..._layout.template,\r\n [\"attribute\"]: null,\r\n },\r\n };\r\n } else {\r\n return _layout;\r\n }\r\n }),\r\n };\r\n });\r\n\r\n _memoDetail.template_desc = JSON.stringify({ items: formatFormData });\r\n } else {\r\n _memoDetail.is_text_form = true;\r\n _memoDetail.template_desc = textFromValue;\r\n }\r\n\r\n if (_validation.length >= 1) {\r\n toggleAlert({\r\n description: `Please fill ${_validation.join(\" , \")}`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n\r\n //set Value\r\n _memoDetail.comment = data?.inputComment || \"\";\r\n _memoDetail.waiting_for = data?.waitingFor || _userData.NameTh;\r\n _memoDetail.waiting_for_id = data?.waitingForId || _userData.EmployeeId;\r\n _memoDetail.to = _listInToAndPass.to.join(\",\");\r\n _memoDetail.pass = _listInToAndPass.pass.join(\",\");\r\n _memoDetail.project_id = _project?.ProjectId || 0;\r\n _memoDetail.project = _project?.ProjectName || \"\";\r\n _memoDetail.TemplateApproveId = _tempVersion?.TemplateId || null;\r\n _memoDetail.actor = _userData;\r\n\r\n if (\r\n autoNumFormat.rowIndex !== -1 &&\r\n _memoDetail.status === \"New Request\" &&\r\n _submitType !== \"rework\" &&\r\n _submitType !== \"recall\" &&\r\n _submitType !== \"return\" &&\r\n _submitType !== \"reply\"\r\n ) {\r\n const runningNumber = await CheckSaveAutonumber(formData);\r\n if (runningNumber) {\r\n _listControlRunning.push(runningNumber);\r\n }\r\n }\r\n if (_listFormNames.IsCheckAccess) {\r\n if (_memoDetail?.actorCheckAccess) {\r\n const checkAccessRequestModel = {\r\n memoid: _memoDetail.memoid?.toString(),\r\n RequesterId: null,\r\n };\r\n\r\n const result = await SetCheckAcces(checkAccessRequestModel);\r\n if (canEditDoc) {\r\n setCanEditDoc(false);\r\n }\r\n }\r\n }\r\n\r\n const _requestMemoPage = {\r\n MemoPage: {\r\n listApprovalDetails: _lineApproval,\r\n listFileAttachDetails: _listFileAttachDetails,\r\n listFormName: [_listFormNames],\r\n listHistoryDetails: _listHistoryDetails,\r\n listRefDocDetails: _listRefDocDetails,\r\n memoDetail: _memoDetail,\r\n listControlRunning: _listControlRunning,\r\n UserPrincipalName: userData.Email,\r\n },\r\n Type: _submitType,\r\n };\r\n console.log(\"memo=>_requestMemoPage\", _requestMemoPage);\r\n let _respone = await ActionMemoPage(_requestMemoPage);\r\n console.log(\"actionAlert=Response=>\", _respone);\r\n if (_respone) {\r\n setActionAlert(_respone);\r\n }\r\n const _checkRespone = ResponeValidation(_respone);\r\n\r\n if (checkRequestActionMemo) {\r\n history.push(\"/RequestActionMemo\");\r\n }\r\n //success\r\n else if (_checkRespone) {\r\n if (checkActionPage === \"edit\" && _submitType === \"draft\") {\r\n checkQuery();\r\n setLoadingPDF(!loadingPDF);\r\n } else {\r\n history.push(\"/Default\", {\r\n responeData: _respone,\r\n msg: `${_submitType} Success`,\r\n });\r\n }\r\n setLoad(false);\r\n }\r\n // something is wrong\r\n else {\r\n toggleAlert({\r\n description: `${_respone.Message}`,\r\n message: `Submit error.`,\r\n type: \"error\",\r\n duration: 99999999,\r\n });\r\n }\r\n setLoad(false);\r\n };\r\n\r\n const IsCheckAccessEditing = () => {\r\n let isCheck = false;\r\n if (memoDetail?.actorCheckAccess?.EmployeeId === userData.EmployeeId) {\r\n isCheck = true;\r\n }\r\n return isCheck;\r\n };\r\n\r\n const CheckSaveAutonumber = async (template_desc: any) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value =\r\n template_desc?.items[rowIndex]?.layout[colIndex]?.data?.value;\r\n const autoTemp = template_desc?.items[rowIndex]?.layout[colIndex];\r\n if (value) {\r\n let requestBody = null;\r\n let newRunning = -1;\r\n if (autoNumFormat.showSymbol) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = gg.join(\"-\") + \"-\" + newRunning;\r\n }\r\n } else {\r\n requestBody = {\r\n Prefix: autoNumFormat.fisrtPreix,\r\n Digit: autoTemp.template.digit,\r\n TemplateId: memoDetail.template_id,\r\n RunningNumber: value,\r\n };\r\n const checkAuto = await GetSaveRunningNumber(requestBody);\r\n const checkNum = checkAuto.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n let dd = value.replaceAll(autoNumFormat.fisrtPreix, \"\");\r\n if (checkNum !== \"\") {\r\n newRunning = checkNum;\r\n dd = newRunning;\r\n if (autoNumFormat?.fisrtPreix) {\r\n requestBody.RunningNumber =\r\n autoNumFormat?.fisrtPreix + newRunning;\r\n }\r\n }\r\n }\r\n\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n\r\n if (!memoDetail) {\r\n return <>;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n {!isLoad && (\r\n \r\n {checkActionPage === \"add\" && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n\r\n {((checkActionPage === \"edit\" && !memoDetail?.actorCheckAccess) ||\r\n IsCheckAccessEditing()) && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && (\r\n <>\r\n {loadingPDF && (\r\n \r\n )}\r\n {!loadingPDF && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n {!isLoad && (\r\n <>\r\n {sidebarState ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n \r\n print()}\r\n key={selectedView}\r\n initial={{ x: 10, opacity: 0 }}\r\n // whileFocus={{transition: {duration: 0}}}\r\n animate={{ x: 0, opacity: 1 }}\r\n exit={{ x: -10, opacity: 0 }}\r\n transition={{ duration: duration }}\r\n >\r\n {selectedView === \"1\" && (\r\n \r\n )}\r\n {selectedView === \"2\" && (\r\n setDuration(0.2)}\r\n onFocusProps={() => setDuration(0)}\r\n {...{\r\n tableOptions,\r\n setTableOptions,\r\n onProcessLogicReference,\r\n refOptions,\r\n prepareInitialLogic,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n isShowSum,\r\n previousView,\r\n buttonType,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n errors,\r\n onControlChange,\r\n allLogic,\r\n reset,\r\n memoDetail,\r\n jsonConditions,\r\n setJsonConditions,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n isControlLoading,\r\n setIsControlLoading,\r\n tableSummaries,\r\n setTableSummaries,\r\n }}\r\n memoDetail={memoDetail}\r\n setMemoDetail={setMemoDetail}\r\n masterCompanies={masterCompanies}\r\n masterEmployee={masterEmployee}\r\n setListInToAndPass={setListInToAndPass}\r\n listInToAndPass={listInToAndPass}\r\n masterProjects={masterProjects}\r\n setProject={setProject}\r\n project={project}\r\n finFo={finFo}\r\n isBranchFromADTitle={isBranchFromADTitle}\r\n checkedLeaveTemplate={checkedLeaveTemplate}\r\n leaveTypeTable={leaveTypeTable}\r\n isTextFromValue={isTextFromValue}\r\n setTextFromValue={setTextFromValue}\r\n textFromValue={textFromValue}\r\n refTempSelected={refTempSelected}\r\n setRefTempSelected={setRefTempSelected}\r\n setSearchRefDocData={setSearchRefDocData}\r\n searchRefDocData={searchRefDocData}\r\n refAttribute={refAttribute}\r\n setSelectedTemplateVersion={setSelectedTemplateVersion}\r\n selectedTemplateVersion={selectedTemplateVersion}\r\n templateListVersion={templateListVersion}\r\n isTemplateVersion={isTemplateVersion}\r\n dialogVisibleInRefTemplate={dialogVisibleInRefTemplate}\r\n setDialogVisibleInRefTemplate={\r\n setDialogVisibleInRefTemplate\r\n }\r\n getLineApproveForAmount={getLineApproveForAmount}\r\n autoNumFormat={autoNumFormat}\r\n lineApproval={lineApproval}\r\n t={t}\r\n actionAlert={actionAlert}\r\n setButtonType={setButtonType}\r\n setEmployeeList={setEmployeeList}\r\n employeeList={employeeList}\r\n edFont={rishFont}\r\n defaultFont={defaultFont}\r\n />\r\n )}\r\n {selectedView === \"3\" && (\r\n \r\n )}\r\n {selectedView === \"4\" && (\r\n \r\n )}\r\n {checkActionPage === \"edit\" && selectedView === \"5\" && (\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\nexport default RequestScreenFix;\r\n","export const UpdateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/UpdateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const CreateWOLFAccount = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"/api/Account/CreateWOLFAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport {\r\n CreateWOLFAccount,\r\n UpdateWOLFAccount,\r\n} from \"../../../Services/AcountService\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const AccountDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: props.formData,\r\n });\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const onsubmit = async (data: any) => {\r\n let result;\r\n let isError = true;\r\n const _baseUrl = window.location.hostname;\r\n\r\n data.Remark =\r\n process.env.NODE_ENV === \"development\"\r\n ? \"devr2.wolfapprove.com\"\r\n : _baseUrl;\r\n if (\r\n data.NewPassword &&\r\n data.NewPassword !== \"\" &&\r\n data.ConfirmNewPassword &&\r\n data.ConfirmNewPassword !== \"\"\r\n ) {\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.Password = props.formData.Password;\r\n } else if (data.NewPassword && data.NewPassword !== \"\") {\r\n setError(\"ConfirmNewPassword\", {\r\n type: \"custom\",\r\n message: \"Confirm Password is required.\",\r\n });\r\n isError = false;\r\n } else {\r\n const _baseUrl = window.location.hostname;\r\n data.IsVerify =\r\n data.IsVerify === undefined || data.IsVerify === \"true\" ? true : false;\r\n data.IsActive =\r\n data.IsActive === undefined || data.IsActive === \"true\" ? true : false;\r\n data.NewPassword = null;\r\n data.ConfirmNewPassword = null;\r\n\r\n data.Password = props.formData.Password;\r\n }\r\n console.log(\"table=>data\", data);\r\n if (isError) {\r\n if (action === \"add\") {\r\n result = await CreateWOLFAccount(data);\r\n } else {\r\n result = await UpdateWOLFAccount(data);\r\n }\r\n if (result.Remark === \"\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: result.Remark,\r\n message: `Warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"ConfirmNewPassword\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.target.value.toString());\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else if (col.key.includes(\"IsActive\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"boolean\",\r\n index: index,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"ProjectNameWithCode\", \"ชื่อ-และรหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectCode\", \"รหัสโครงการ\");\r\n textTH = textTH.replace(\"ProjectName\", \"ชื่อโครงการ\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\r\n }\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\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 \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n }\r\n } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"add\") {\r\n formData[props.apiName + \"Id\"] = 0;\r\n formData[\"CreatedBy\"] = userData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n } else {\r\n formData = copyFormdata;\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res?.errorMessage || res}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","export const GetUserManualList = async () => {\r\n const respone = await fetch(\"api/UserManual/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n // .filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddUserManual = async (formData: any) => {\r\n const respone = await fetch(\"api/UserManual/AddUserManual\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(formData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { AddUserManual } from \"../../../Services/UserManualService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport \"./UserManualDialog.css\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllMasterData } from \"../../../Services/MasterDataService\";\r\n\r\ntype Props = {\r\n // visible: any;\r\n // onHide: () => void;\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n};\r\n\r\ninterface IUserManualForm {\r\n ActorId: number;\r\n ActorName: string;\r\n UserManualGroupName: string;\r\n AttachedDate: string;\r\n AttachFile: string;\r\n FileName: string;\r\n FileDescription: string;\r\n FilePath: string;\r\n TagKeyword: string;\r\n Sep: number;\r\n OrderItem: number;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n IsActive: boolean;\r\n}\r\ninterface IfileName {\r\n fileName: string;\r\n pathUrl: string;\r\n result: boolean;\r\n}\r\nconst UserManualDialog = (props: Props) => {\r\n const [userManualValue, setUserManualValue] = useState([]);\r\n const [fileName, setFileName] = useState({});\r\n const [configFile, setConfigFile] = useState({});\r\n const [userData, setUserData] = useUserContext();\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [fileInputType, setfileInputType] = useState(\".pdf\");\r\n const ref = React.useRef();\r\n const { toggleAlert } = useAlert();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n\r\n const {\r\n control,\r\n handleSubmit,\r\n setValue,\r\n reset,\r\n formState: { errors },\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n setCheckHasValue(true);\r\n } else {\r\n setAction(\"add\");\r\n setCheckHasValue(false);\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fetchMasterData();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fetchMasterData = async () => {\r\n const masterData = await GetAllMasterData();\r\n if (masterData) {\r\n const masterDataType = masterData?.filter((e: any) => {\r\n return e.MasterType === \"UserManual\" && e.IsActive === true;\r\n });\r\n masterDataType.map((master: any) => {\r\n const userManual = master.Value1.split(\"|\");\r\n const masterDataValue = userManual.map((e: any) => {\r\n return { UserManualGroupName: e };\r\n });\r\n\r\n control._formValues[\"UserManualGroupName\"] = masterDataValue.find(\r\n (e: any) =>\r\n e.UserManualGroupName === props.formData.UserManualGroupName\r\n );\r\n setValue(\r\n \"UserManualGroupName\",\r\n control._formValues[\"UserManualGroupName\"]\r\n );\r\n setUserManualValue([...masterDataValue]);\r\n });\r\n }\r\n };\r\n\r\n async function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const onFileSelect = (e: any) => {\r\n var filename = e.target.value;\r\n const files = e.target.files;\r\n const maxLength = parseInt(configFile.limitFileSize);\r\n const maxMb = 20971520 / 1024 / 1024;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size >= maxLength) {\r\n toggleAlert({\r\n description: `Can not upload file size more than ${maxMb}.MB File name is ${files[i].name}`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n ref.current.value = null;\r\n return;\r\n }\r\n }\r\n return e.target.files;\r\n };\r\n\r\n async function onUploadFile(file: any) {\r\n let formData = new FormData();\r\n formData.append(`files`, file[0]);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"UserManual\");\r\n formData.append(\"fileDesc\", fileName);\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n\r\n var response: any = await UploadFileAttachFiles(formData);\r\n console.log(\"response=>\", response);\r\n if (response.data) {\r\n if (response.data?.result === true) {\r\n return response.data;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n async function acceptSave(formData: any, attachFile: any) {\r\n try {\r\n let userManualformData: any = {};\r\n if (action === \"add\") {\r\n if (attachFile) {\r\n userManualformData.UserManualId = null;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n } else {\r\n if (attachFile) {\r\n userManualformData = props.formData;\r\n userManualformData.UserManualId = props?.formData?.UserManualId;\r\n userManualformData.UserManualGroupName =\r\n formData?.UserManualGroupName?.UserManualGroupName;\r\n userManualformData.AttachFile =\r\n attachFile.fileName + \"|\" + attachFile.pathUrl;\r\n userManualformData.FileName = attachFile.fileName;\r\n userManualformData.FileDescription = formData.FileDescription;\r\n userManualformData.TagKeyword = formData.TagKeyword;\r\n userManualformData.Sep = formData.Sep;\r\n userManualformData.IsActive = formData.IsActive;\r\n userManualformData.ActorId = userData.EmployeeId;\r\n userManualformData.ActorName = userData.NameEn;\r\n userManualformData.AttachedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.FilePath = attachFile.pathUrl;\r\n userManualformData.OrderItem = \"1\";\r\n userManualformData.ModifiedBy = userData.EmployeeId.toString();\r\n userManualformData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n userManualformData.CreatedBy = userData.EmployeeId.toString();\r\n }\r\n }\r\n\r\n var response: any = await AddUserManual(userManualformData);\r\n if (response?.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `(${attachFile.fileName}) has ${action} successfully`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Server Error Please try again.`,\r\n message: `Server Error`,\r\n type: \"error\",\r\n });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n const onSubmit = async (data: IUserManualForm) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n const file = {\r\n fileName: props.formData.FileName,\r\n pathUrl: props.formData.FilePath,\r\n };\r\n if (checkHasValue === false) {\r\n const uploadAttach = await onUploadFile(data.AttachFile);\r\n await acceptSave(data, uploadAttach);\r\n } else {\r\n await acceptSave(data, file);\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n (\r\n <>\r\n {checkHasValue === true && (\r\n <>\r\n {\r\n if (checkHasValue) {\r\n openWindow(props.formData.FilePath);\r\n } else {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n {\r\n setCheckHasValue(false);\r\n toggleAlert({\r\n description: `กรุณา อัพโหลดไฟล์ PDF ใหม่`,\r\n message: `Please Upload New PDF File`,\r\n type: \"error\",\r\n });\r\n }}\r\n >\r\n \r\n
\r\n \r\n )}\r\n\r\n {checkHasValue === false && (\r\n <>\r\n {\r\n field.onChange(onFileSelect(e));\r\n }}\r\n multiple\r\n />\r\n \r\n )}\r\n \r\n )}\r\n />\r\n
\r\n {fileInputType === \".pdf\" ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n Please input only PDF file\r\n \r\n \r\n )}\r\n\r\n {getFormErrorMessage(\"AttachFile\")}\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n // className=\"p-d-block p-inputgroup attachForm-border-description-inputText\"\r\n />\r\n )}\r\n />\r\n\r\n {getFormErrorMessage(\"Sep\")}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserManualDialog;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { AccountDialog } from \"../../SettingDialogComponents/AccountDialog/AccountDialog\";\r\nimport { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport EmployeeDialogFix from \"../../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\nimport UserManualDialog from \"../../SettingDialogComponents/UserManualDialog/UserManualDialog\";\r\n\r\ntype Props = {\r\n toast: any;\r\n tableName: string;\r\n apiName: string;\r\n formData: any;\r\n mainDialogVisible: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData: any[];\r\n setTableData: (values: any[]) => void;\r\n subTableData: any[];\r\n setSubTableData: (values: any[]) => void;\r\n reloadData?: (apiPath?: string) => void;\r\n isEditProfile?: boolean;\r\n};\r\n\r\nexport const DialogListFix = ({\r\n toast,\r\n tableName,\r\n apiName,\r\n formData,\r\n toggleMainDialog,\r\n mainDialogVisible,\r\n tableData,\r\n setTableData,\r\n subTableData,\r\n setSubTableData,\r\n reloadData,\r\n}: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const editData = JSON.stringify(formData);\r\n const _editData = JSON.parse(editData);\r\n\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Authorized\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Account\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"User Manual\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(tableName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","export const matrixItemToString = async (\r\n approvalMatrixes: any[],\r\n matrixItems: any[]\r\n) => {\r\n if (matrixItems) {\r\n approvalMatrixes.forEach((approvalMatrix: any, index: number) => {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === approvalMatrix.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n\r\n data.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n data.forEach((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n }\r\n });\r\n approvalMatrix.AmountFrom_AmountTo = mainStr;\r\n });\r\n }\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { InputTextComponents } from \"../../components/InputTextComponents/InputTextComponents\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { MdOutlineFormatListBulleted } from \"react-icons/md\";\r\nimport { RiUserSearchLine } from \"react-icons/ri\";\r\nimport { AiFillPlusCircle } from \"react-icons/ai\";\r\n\r\nimport \"./DelegateScreen.css\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport moment from \"moment\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { GetDepartment } from \"../../Services/DepartmentService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { SelectDataDialog } from \"../../components/Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { fontSize } from \"../../components/SettingsSpecComponents/fontList\";\r\nfunction DelegateListScreen() {\r\n const { toggleAlert } = useAlert();\r\n const [isShowApproverModal, setIsShowApproverModal] = useState(false);\r\n const [isDialogApproverVisible, setIsDialogApproverVisible] = useState(false);\r\n const [approverData, setApproverData] = useState([]);\r\n const [approverTextFilter, setApproverTextFilter] = useState(\"\");\r\n const [approver, setApprover] = useState({ name: \"\", ApproverId: null });\r\n const [delegater, setDelegater] = useState({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n const [searchDelegateData, setSearchDelegateData] = useState([]);\r\n const [delegateData, setDelegateData] = useState([]);\r\n const [filterText, setFilterText] = useState(\"\");\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [currentModal, setCurrentModal] = useState(\"\");\r\n const [employeeData, setEmployeeData] = useState([]);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [defaultDateRange, setDefaultDateRange] = useState();\r\n const [dateRange, setDateRange] = useState(0);\r\n const [dates, setDates] = useState([]);\r\n const [departmentData, setDepartmentData] = useState([]);\r\n const [isAdmin, setIsAdmin] = useState(false);\r\n const [filterEmployee, setFilterEmployee] = useState([]);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n fetchDepartment();\r\n checkIsAdmin();\r\n fetchDataEmployee().then((emp: any) => fetchDelegateList(emp));\r\n }, []);\r\n\r\n const checkIsAdmin = async () => {\r\n const _isAdmin = await CheckRolePermission(userData.EmployeeId);\r\n\r\n setIsAdmin(_isAdmin);\r\n };\r\n\r\n const onSelectView = (e: any) => {};\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const fetchDepartment = async () => {\r\n const department = await GetDepartment();\r\n setDepartmentData([...department]);\r\n };\r\n async function fetchDataEmployee() {\r\n const employee = await GetAllEmployee();\r\n setEmployeeData(employee);\r\n setFilterEmployee(employee);\r\n return employee;\r\n }\r\n const fetchDelegateList = async (emp: any) => {\r\n const _dataDynamic = await GetAllDynamic(\"DelegateList/GetAll\", undefined);\r\n\r\n if (emp) {\r\n const _delegate = _dataDynamic.map((delegate: any) => {\r\n const approverData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.ApproverId) ||\r\n [];\r\n const assignedData =\r\n emp.filter((_emp: any) => _emp.EmployeeId === delegate.AssignedId) ||\r\n [];\r\n return {\r\n ...delegate,\r\n Approver:\r\n approverData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? approverData[0].NameEn\r\n : approverData[0].NameTh\r\n : \"Not found.\",\r\n [\"Delegate_To\"]:\r\n assignedData.length > 0\r\n ? userData.Lang === \"EN\"\r\n ? assignedData[0].NameEn\r\n : assignedData[0].NameTh\r\n : \"Not found.\",\r\n };\r\n });\r\n setSearchDelegateData([..._delegate]);\r\n setDelegateData([..._delegate]);\r\n }\r\n };\r\n const onSelectDate = (date: any, label: any) => {\r\n if (date !== null && label === \"List\") {\r\n const result = delegateData.filter((_data: any, idx: any) => {\r\n let momentWorklistFrom = moment(_data.DateFrom, \"DD MMM yyyy\");\r\n let momentWorklistTo = moment(_data.DateTo, \"DD MMM yyyy\");\r\n let formatWorklistFrom = new Date(\r\n moment(momentWorklistFrom).format(\"yyyy/MM/DD\")\r\n );\r\n let formatWorklistTo = new Date(\r\n moment(momentWorklistTo).format(\"yyyy/MM/DD\")\r\n );\r\n let formatDateTo = new Date(moment(date[1]).format(\"yyyy/MM/DD\"));\r\n let formatDateFrom = new Date(moment(date[0]).format(\"yyyy/MM/DD\"));\r\n\r\n if (\r\n formatWorklistFrom >= formatDateFrom &&\r\n formatWorklistTo <= formatDateTo\r\n ) {\r\n return true;\r\n }\r\n });\r\n\r\n setSearchDelegateData([...result]);\r\n setDates([...date]);\r\n } else if (date !== null && label === \"Detail\") {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([...date]);\r\n } else if (date === null) {\r\n setSearchDelegateData([...delegateData]);\r\n setDates([]);\r\n }\r\n };\r\n const onResetFilter = () => {\r\n setApprover({ name: \"\", ApproverId: null });\r\n setDelegater({\r\n name: \"\",\r\n DelegateToId: null,\r\n });\r\n setDates([]);\r\n };\r\n const onInputFilterChange = (e: any) => {\r\n const raw = delegateData;\r\n\r\n const data = raw.filter((data: any) => {\r\n if (data.CreatedBy !== null) {\r\n if (\r\n data.CreatedBy.toUpperCase().indexOf(e.toUpperCase()) !== -1 ||\r\n data.Remark.toUpperCase().indexOf(e.toUpperCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n\r\n setSearchDelegateData([...data]);\r\n setFilterText(e);\r\n };\r\n const onSelectDateRange = (range: string) => {\r\n if (range === undefined) {\r\n setDateRange(0);\r\n }\r\n if (range === \"7 day\") {\r\n setDateRange(7);\r\n }\r\n if (range === \"1 month\") {\r\n setDateRange(31);\r\n }\r\n if (range === \"3 month\") {\r\n setDateRange(91);\r\n }\r\n if (range === \"1 year\") {\r\n setDateRange(366);\r\n }\r\n\r\n setDefaultDateRange(range);\r\n setDates([]);\r\n };\r\n const onTemplateClick = (e: any) => {\r\n history.push(`/Delegate?delegateId=${e.DelegateId}`);\r\n };\r\n const onApproverFilterChange = (e: any) => {\r\n const value = e;\r\n const dataEmp: any = employeeData;\r\n console.log(\"value\", value);\r\n setApproverTextFilter(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n setFilterEmployee([...data]);\r\n };\r\n function showModalApprover(label: any) {\r\n if (approverTextFilter != \"\") {\r\n setApproverTextFilter(\"\");\r\n }\r\n setCurrentModal(label);\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n }\r\n const onEmployeeSelect = (data: any, label: any) => {\r\n if (label === \"approver\") {\r\n setApprover((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n ApproverId: data.EmployeeId,\r\n }));\r\n }\r\n if (label === \"delegate\") {\r\n setDelegater((prevState: any) => ({\r\n ...prevState,\r\n name: userData.Lang === \"EN\" ? data.NameEn : data.NameTh,\r\n DelegateToId: data.EmployeeId,\r\n }));\r\n }\r\n setIsDialogApproverVisible(!isDialogApproverVisible);\r\n };\r\n\r\n const onDelegateRowSelect = (event: any) => {};\r\n const onClickSearch = async () => {\r\n let momentWorklist;\r\n let formatDate: any[] = [];\r\n if (dates.length > 0) {\r\n for (let i = 0; i < dates.length; i++) {\r\n const date = dates[i];\r\n // momentWorklist = moment(_data.ModifiedDate, \"DD/MM/yyyy\");\r\n formatDate.push(moment(date).format(\"dd/MM/yyyy\"));\r\n }\r\n }\r\n if (approver.ApproverId !== null || delegater.DelegateToId !== null) {\r\n const dataJson = {\r\n ApproverId: approver.ApproverId !== null ? approver.ApproverId : 0,\r\n DelegateToId:\r\n delegater.DelegateToId !== null ? delegater.DelegateToId : 0,\r\n // DateFrom: formatDate.length > 0 ? formatDate[0] : \"\",\r\n // DateTo: formatDate.length > 0 ? formatDate[1] : \"\",\r\n DateFrom: \"\",\r\n DateTo: \"\",\r\n };\r\n console.log(\"formatDate\", formatDate);\r\n\r\n const dataLogic = await fetch(\"api/DelegateList/GetDetailByValue\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n if (data) {\r\n const startDate =\r\n formatDate.length > 0 ? moment(formatDate[0]) : undefined;\r\n const endDate =\r\n formatDate.length > 0 ? moment(formatDate[1]) : undefined;\r\n const test = moment(data[0]?.RequestDate);\r\n\r\n const newData = data.filter((delegate: any) =>\r\n moment(delegate.RequestDate).isBetween(startDate, endDate)\r\n );\r\n console.log({ startDate, endDate, newData, test });\r\n }\r\n setApproverData([...data]);\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `Please select Approver or Delegate To`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please select Approver or Delegate To\",\r\n // life: 7000,\r\n // });\r\n }\r\n };\r\n return (\r\n
\r\n {/* {onLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )} */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

Delegate List

\r\n history.push(\"/Settings?name=Delegate\")}\r\n >\r\n \r\n Create Delegate\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n setCurrentPage(1);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate List\r\n \r\n {\r\n setCurrentPage(2);\r\n onResetFilter();\r\n }}\r\n >\r\n \r\n Delegate Detail\r\n \r\n
\r\n
\r\n {currentPage === 2 && (\r\n <>\r\n \r\n \r\n
\r\n Approver : \r\n *\r\n
\r\n

ผู้อนุมัติงาน :

\r\n \r\n \r\n \r\n showModalApprover(\"approver\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"approver\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n
\r\n Delegate to : \r\n *\r\n
\r\n

ผู้อนุมัติงานแทน :

\r\n \r\n \r\n \r\n showModalApprover(\"delegate\")}\r\n readOnlyProps={true}\r\n />\r\n showModalApprover(\"delegate\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"38px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"Detail\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n \r\n onClickSearch()}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n onResetFilter()}\r\n setStyleProps={{\r\n backgroundColor: \"#FB3A3A\",\r\n border: \"1px solid #FB3A3A\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"32px\",\r\n padding: \"0 30px\",\r\n }}\r\n disabledProps={false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n

Document No.

\r\n \r\n \r\n }\r\n body={(row: any, options: any) => (\r\n \r\n history.push(`Request?MemoID=${row.MemoId}`)\r\n }\r\n >\r\n {row.DocumentNo}\r\n

\r\n )}\r\n >\r\n \r\n \r\n

Form Name

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Date

\r\n \r\n \r\n }\r\n body={(value: any) => {\r\n if (value.RequestDate != \"\") {\r\n let someDateString = moment(\r\n value.RequestDate,\r\n \"YYYY-MM-DD\"\r\n );\r\n console.log(\"value\", value.RequestDate, someDateString);\r\n\r\n const NewDate =\r\n moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n }}\r\n >\r\n \r\n \r\n

Requestor

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.RequesterId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Department

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n departmentData.map((data: any) => {\r\n if (data.DepartmentId === row.RequesterDeptId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Status

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Last Action By

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId == row.ActionId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n

Waiting For

\r\n \r\n \r\n }\r\n body={(row: any, options: any) =>\r\n employeeData.map((data: any) => {\r\n if (data.EmployeeId === row.WaitingId) {\r\n return

{data.NameTh}

;\r\n }\r\n })\r\n }\r\n >\r\n \r\n \r\n )}\r\n {currentPage === 1 && (\r\n <>\r\n {/* \r\n \r\n
\r\n Search : \r\n
\r\n

ค้นหา :

\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Delegated Date Period :{\" \"}\r\n \r\n
\r\n

ช่วงเวลา :

\r\n \r\n \r\n \r\n onSelectDate(e, \"List\")}\r\n dateRange={dateRange}\r\n isFullWidth={true}\r\n />\r\n \r\n \r\n
*/}\r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n onEmployeeSelect(e, currentModal)}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogApproverVisible}\r\n setDialogVisible={() => showModalApprover(currentModal)}\r\n />\r\n {/* showModalApprover(currentModal)}\r\n className=\"information-dialog\"\r\n dismissableMask\r\n draggable={false}\r\n resizable={false}\r\n closable={false}\r\n >\r\n onEmployeeSelect(e, currentModal)}\r\n >\r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default DelegateListScreen;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router\";\r\nimport withPerMission from \"../../../components/HOC/withPermission\";\r\nimport DynamicTable from \"../../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport useLoading from \"../../../hooks/useLoading\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../../../components/ButtonComponents/ButtonComponents\";\r\nimport { TreeSelectNewRequest } from \"../../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { DialogListFix } from \"../../../components/TableComponents/DynamicTableFix/DialogListFix\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport { matrixItemToString } from \"../../../Helper/matrixItemToString\";\r\nimport DelegateListScreen from \"../../DelegateListScreen/DelegateListScreen\";\r\nimport DelegateScreen from \"../../DelegateScreen/DelegateScreen\";\r\nimport SimLineApproveScreen from \"../SimLineApproveScreen/SimLineApproveScreen\";\r\nimport { CheckRolePermission } from \"../../../Services/AuthorizedService\";\r\nimport { getVersionTempVC } from \"../../../Services/MasterDataService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Popover } from \"antd\";\r\nimport \"primeicons/primeicons.css\";\r\n\r\nconst MasterDatascreenFixed = () => {\r\n const query = new URLSearchParams(useLocation().search);\r\n const [apiName, setApiName] = useState();\r\n const { isLoad, setLoad } = useLoading();\r\n const [dynamicData, setDynamicData] = useState();\r\n const [emp_data, setEmp_data] = useState();\r\n const [subData, setSubData] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const history = useHistory();\r\n const toast = useRef(null);\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [displayFormDialog, setDisplayFormDialog] = useState(false);\r\n const [userData] = useUserContext();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getQuery();\r\n }, [query]);\r\n\r\n const getQuery = () => {\r\n let eriei = \"\";\r\n\r\n if (query.get(\"name\") !== null && query.get(\"name\") !== undefined) {\r\n eriei = query.get(\"name\") || \"\";\r\n if (eriei === \"AuthorizedMenu\") {\r\n eriei = eriei.replace(\"AuthorizedMenu\", \"Authorized\");\r\n } else if (eriei === \"Organization\") {\r\n eriei = eriei.replace(\"Organization\", \"Department\");\r\n } else if (eriei === \"wolfaccount\") {\r\n eriei = \"Account\";\r\n } else if (eriei === \"MasterProject\") {\r\n eriei = \"Project\";\r\n }\r\n if (eriei.indexOf(\"?\") !== -1) {\r\n eriei = eriei.substring(0, eriei.indexOf(\"?\"));\r\n }\r\n\r\n setApiName(eriei);\r\n }\r\n return eriei;\r\n };\r\n\r\n useEffect(() => {\r\n if (apiName) {\r\n setLoad(true);\r\n fecthData(apiName);\r\n }\r\n }, [apiName]);\r\n\r\n // useEffect(() => {\r\n // if (dynamicData) {\r\n // setLoad(false);\r\n // }\r\n // }, [dynamicData]);\r\n\r\n // useEffect(() => {\r\n // if (displayFormDialog) {\r\n // fecthData(apiName);\r\n // }\r\n // }, [displayFormDialog]);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n const toggleMainDialog = (state: boolean, action: string) => {\r\n if (!state) {\r\n setDisplayFormDialog(state);\r\n if (action === \"save\") {\r\n setLoad(true);\r\n fecthData(apiName);\r\n }\r\n }\r\n };\r\n\r\n const fecthData = async (apiPath: string) => {\r\n try {\r\n let _dataDynamic: any;\r\n let _emp_data: any = emp_data;\r\n let _emp_dataFind: any = undefined;\r\n let _apiPath: string = apiPath ? apiPath : getQuery();\r\n if (!_emp_data) {\r\n _emp_data = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n console.log(\"data ===> \", _emp_data);\r\n setEmp_data(_emp_data);\r\n }\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (\r\n query.get(\"usrid\") !== null &&\r\n query.get(\"usrid\") !== undefined &&\r\n _isAdmin\r\n ) {\r\n _emp_dataFind = _emp_data.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n let dataJsonn: any | undefined;\r\n let queryString: any | undefined;\r\n if (apiName === \"TemplateList\") {\r\n let _usrid: number | undefined = undefined;\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: _emp_dataFind\r\n ? _emp_dataFind?.EmployeeId?.toString()\r\n : userData.EmployeeId.toString(),\r\n DepartmentId: _emp_dataFind\r\n ? _emp_dataFind?.DepartmentId\r\n : userData.DepartmentId,\r\n Username: _emp_dataFind\r\n ? _emp_dataFind?.Username\r\n : userData.Username,\r\n Email: _emp_dataFind ? _emp_dataFind?.Email : userData.Email,\r\n }),\r\n };\r\n } else if (apiName === \"Account\") {\r\n dataJsonn = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n TinyURL: _userData.TinyURL,\r\n }),\r\n };\r\n } else if (apiName === \"Employee\") {\r\n queryString = {\r\n IsActiveOnly: \"false\",\r\n };\r\n }\r\n\r\n _dataDynamic = await GetAllDynamic(\r\n _apiPath + \"/GetAll\",\r\n dataJsonn,\r\n queryString\r\n );\r\n console.log(\"table=>_dataDynamic\", _dataDynamic);\r\n\r\n let _dataVersionTempVC = await getVersionTempVC();\r\n\r\n for (let i = 0; i < _dataDynamic.length; i++) {\r\n const element = _dataDynamic[i];\r\n for (let j = 0; j < _dataVersionTempVC.length; j++) {\r\n const _element = _dataVersionTempVC[j];\r\n if (_element.value1 === element.DocumentCode) {\r\n _dataDynamic[i].isEditing =\r\n _element.value3 === \"Editing\" ? \"true\" : \"false\";\r\n _dataDynamic[i].isPublishVersion =\r\n _element.value3 === \"Publish\" ? \"true\" : \"false\";\r\n }\r\n }\r\n }\r\n\r\n if (apiPath === \"ApprovalMatrix\") {\r\n await fecthApprovalMatrixItem(_dataDynamic);\r\n }\r\n\r\n if (apiName === \"UserManual\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.AttachFile) {\r\n const [nameFile, linkFile] = data.AttachFile.split(\"|\");\r\n data.AttachFile = (\r\n <>\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"1\",\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n });\r\n }\r\n if (apiName === \"Employee\") {\r\n _dataDynamic.map((data: any) => {\r\n if (data.NameTh && data.NameEn) {\r\n data.NameTh = data.NameTh.replace(/\\s+/g, \" \");\r\n data.NameEn = data.NameEn.replace(/\\s+/g, \" \");\r\n }\r\n });\r\n }\r\n\r\n if (_dataDynamic) {\r\n if (_emp_data) {\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic.map((e: any) => {\r\n let emp = _emp_data?.find(\r\n (_emp: any) => _emp.EmployeeId.toString() === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n setIsAdmin(_isAdmin);\r\n\r\n setDynamicData([..._dataDynamic]);\r\n setLoad(false);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n };\r\n\r\n const fecthApprovalMatrixItem = async (data: any[]) => {\r\n let matrixItems = await GetAllApprovalMatrixItem();\r\n if (matrixItems) {\r\n matrixItemToString(data, matrixItems);\r\n setSubData([...matrixItems]);\r\n }\r\n };\r\n\r\n const getTableName = () => {\r\n if (apiName === \"ApprovalMatrix\") {\r\n return \"Approval Matrix\";\r\n } else if (apiName === \"MasterData\") {\r\n return \"Master Data\";\r\n } else if (apiName === \"PositionLevel\") {\r\n return \"Position Level\";\r\n } else if (apiName === \"MasterCompany\") {\r\n return \"Master Company\";\r\n } else if (apiName.substring(0, apiName.indexOf(\"?\")) === \"TemplateList\") {\r\n return \"Template List\";\r\n } else if (apiName === \"UserManual\") {\r\n return \"User Manual\";\r\n } else {\r\n return apiName;\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n return (\r\n \r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\r\n \"/TemplateDetail?TemplateId=\" + record.TemplateId\r\n );\r\n } else {\r\n setDataEdit(record);\r\n setDisplayFormDialog(true);\r\n }\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n if (\r\n apiName !== \"DelegateList\" &&\r\n apiName !== \"SimLineApprove\" &&\r\n apiName !== \"Delegate\"\r\n ) {\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {!isLoad && (\r\n

\r\n {apiName === \"ApprovalMatrix\"\r\n ? \"Approval Matrix\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterData\"\r\n ? \"Master Data\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"PositionLevel\"\r\n ? \"Position Level\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Master Company\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"MasterCompany\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"Authorized\"\r\n ? \"Authorized Menu\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"TemplateList\"\r\n ? \"Template List\" + \"(\" + itemsCount + \")\"\r\n : apiName === \"UserManual\"\r\n ? \"User Manual\" + \"(\" + itemsCount + \")\"\r\n : apiName + \"(\" + itemsCount + \")\"}\r\n

\r\n )}\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n <>\r\n {\r\n if (apiName === \"TemplateList\") {\r\n history.push(\"/TemplateDetail\");\r\n } else {\r\n setDataEdit({});\r\n setDisplayFormDialog(!displayFormDialog);\r\n }\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n {dynamicData && (\r\n <>\r\n \r\n {displayFormDialog && (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n <>\r\n {apiName === \"DelegateList\" && }\r\n {apiName === \"Delegate\" && }\r\n {apiName === \"SimLineApprove\" && }\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default withPerMission(MasterDatascreenFixed);\r\n","import moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Route,\r\n Switch,\r\n useHistory,\r\n useLocation,\r\n useRouteMatch,\r\n} from \"react-router\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport {\r\n DeleteReport,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { GetTemplateeBindFormNameDDL } from \"../../Services/TemplateService\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { TablePaginationConfig } from \"antd\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst ReportScreenFix = () => {\r\n const location = useLocation();\r\n const apiName = location.pathname.replace(\"/\", \"\");\r\n const [text, setText] = useState(\"\");\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [reportList, setReportList] = useState();\r\n const [tableData, setTableData] = useState([]);\r\n const [reportColumns, setReportColumns] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const { isLoad, setLoad } = useLoading();\r\n const [editReport, setEditReport] = useState(false);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [userData] = useUserContext();\r\n const [emp_data, setEmp_data] = useState();\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [isAdmin, setIsAdmin] = useState();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const [isAutoReport, setIsAutoReport] = useState(false);\r\n const [canEdit, setCanEdit] = useState(false);\r\n const { url } = useRouteMatch();\r\n let history = useHistory();\r\n\r\n const [paginationOption, setPaginationOption] =\r\n useState({\r\n position: [\"bottomLeft\"],\r\n size: \"small\",\r\n current: 1,\r\n showSizeChanger: true,\r\n onChange: (page, pageSize) => {\r\n let _page: TablePaginationConfig = paginationOption;\r\n _page.current = page;\r\n _page.pageSize = pageSize;\r\n\r\n setPaginationOption(_page);\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n const path = apiName.split(\"/\");\r\n if (path[2]) {\r\n history.push(\r\n `${url}/${path[1].replaceAll(\"/\", \"\\\\\")}/${path[2]}/${isAutoReport}`\r\n );\r\n } else {\r\n checkAutoReport();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n\r\n fetchTemplate();\r\n }, [isAutoReport]);\r\n\r\n useEffect(() => {\r\n fetchReport();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAdmin) {\r\n if (tableData) {\r\n const findedData = tableData.find((e: any) => {\r\n if (\r\n e.CreatedBy === userData.NameEn ||\r\n e.CreatedBy === userData.NameTh\r\n ) {\r\n return e;\r\n }\r\n });\r\n if (findedData) {\r\n setCanEdit(true);\r\n }\r\n }\r\n }\r\n }, [tableData]);\r\n\r\n const checkAutoReport = async () => {\r\n const mode = query.get(\"mode\");\r\n const isEnable = await CheckAutoReport();\r\n if (mode === \"test\") {\r\n setIsAutoReport(!isEnable);\r\n } else {\r\n setIsAutoReport(isEnable);\r\n }\r\n };\r\n\r\n async function fetchReport() {\r\n try {\r\n let empList: any[] = [];\r\n let _emp_dataFind: any = undefined;\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n EmployeeId: userId?.toString(),\r\n UserPrincipalName: userData.Email,\r\n }),\r\n });\r\n\r\n const _isAdmin = await CheckRolePermission(\r\n _emp_dataFind ? _emp_dataFind?.EmployeeId : userData.EmployeeId\r\n );\r\n\r\n if (query.get(\"usrid\") && _isAdmin) {\r\n _emp_dataFind = empList.find(\r\n (item: any) => item.EmployeeId === Number(query.get(\"usrid\"))\r\n );\r\n }\r\n\r\n if (reportList === undefined) {\r\n setReportList(_dataDynamic);\r\n }\r\n\r\n if (!emp_data) {\r\n empList = await GetAllDynamic(\"Employee\" + \"/GetAll\", undefined);\r\n setEmp_data(empList);\r\n } else {\r\n empList = emp_data;\r\n }\r\n\r\n const hasMy = _dataDynamic?.find(\r\n (_data: any) =>\r\n _data.CreatedBy === userData.NameTh ||\r\n _data.CreatedBy === userData.NameEn\r\n );\r\n if (hasMy) {\r\n setCanEdit(true);\r\n }\r\n if (empList.length > 0) {\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.CreatedBy\r\n );\r\n if (emp) {\r\n e.CreatedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.CreatedBy = \"\";\r\n }\r\n });\r\n _dataDynamic?.map((e: any) => {\r\n let emp = empList?.find(\r\n (_emp: any) => _emp.EmployeeId === e.ModifiedBy\r\n );\r\n if (emp) {\r\n e.ModifiedBy = userData.Lang === \"TH\" ? emp?.NameTh : emp?.NameEn;\r\n } else {\r\n e.ModifiedBy = \"\";\r\n }\r\n });\r\n }\r\n\r\n const uniqueArray = _dataDynamic.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n _dataDynamic.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setIsAdmin(_isAdmin);\r\n setTableData([...uniqueArray]);\r\n setReportColumns(undefined);\r\n setText(\"Report List\");\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = emp_data.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

\r\n {text.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }/${isAutoReport}`\r\n );\r\n }}\r\n canExport={text !== \"Report List\"}\r\n />\r\n {/* {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={false}\r\n /> */}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n // if (isAutoReport) {\r\n // return (\r\n //
\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n\r\n // \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 // \r\n //

{text + \"(\" + itemsCount + \")\"}

\r\n // \r\n // {reportList && text !== \"Report List\" && (\r\n // \r\n // }\r\n // onClickProps={() => {\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n // }}\r\n // setStyleProps={{\r\n // height: \"38px\",\r\n // borderRadius: \"6px\",\r\n // border: \"1px solid #F2F2F2\",\r\n // fontSize: \"13px\",\r\n // background: \"#F2F2F2\",\r\n // color: \"#282F6A\",\r\n // width: \"120px\",\r\n // }}\r\n // />\r\n // )}\r\n // {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n // {\r\n // toggleDialog();\r\n // }}\r\n // />\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {text !== \"\" && (\r\n // <>\r\n // {\" \"}\r\n // {text === \"Report List\" ? (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // ) : (\r\n // <>\r\n // \r\n // panelTemplate(option, \"Filter\")\r\n // }\r\n // toggleable\r\n // >\r\n // \r\n // \r\n // \r\n // panelTemplate(option, \"Report\")\r\n // }\r\n // className={\"table-panel\"}\r\n // toggleable\r\n // >\r\n // {gettingReport ? (\r\n // <>\r\n // \r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // \r\n // ) : (\r\n // {\r\n // if (text === \"Report List\") {\r\n // setLoad(true);\r\n // fecthDataReport(record.ReportTemplateId);\r\n // } else if (record[\"Memo_MemoId\"]) {\r\n // window.open(\r\n // `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n // \"_blank\"\r\n // );\r\n // }\r\n // }}\r\n // canExport={text !== \"Report List\"}\r\n // />\r\n // )}\r\n // \r\n // \r\n // )}\r\n // \r\n // )}\r\n\r\n // \r\n //
\r\n // \r\n // \r\n // );\r\n // }\r\n }\r\n};\r\n\r\nexport default ReportScreenFix;\r\n","import { ITimeStampRequest } from \"../IRequestModel/ITimeStamp\";\r\n\r\nexport const GetTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/GetTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UploadTimeStamp = async (fileData: FormData) => {\r\n const respone = await fetch(\"api/TimeStamp/UploadTimeStamp\", {\r\n method: \"POST\",\r\n body: fileData,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"Success:\", data);\r\n return data;\r\n })\r\n .catch((error) => {\r\n console.error(\"Error:\", error);\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const ExportTimeStamp = async (dataJson: ITimeStampRequest) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TimeStamp/ExportTimeStamp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { IPaging } from \"../../IRequestModel/IPaginationOptionModel\";\r\nimport { Col, DatePicker, message, Row, Upload, UploadFile } from \"antd\";\r\nimport { UploadOutlined } from \"@ant-design/icons\";\r\nimport type { UploadProps } from \"antd\";\r\n\r\nimport {\r\n ITimeStampRequest,\r\n ITimeStampRespone,\r\n} from \"../../IRequestModel/ITimeStamp\";\r\nimport {\r\n ExportTimeStamp,\r\n GetTimeStamp,\r\n UploadTimeStamp,\r\n} from \"../../Services/TimeStampService\";\r\nimport { TextHeaderComponents } from \"../../components/TextHeaderComponents/TextHeaderComponents\";\r\nimport moment from \"moment\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GrDocumentTxt } from \"react-icons/gr\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { RcFile } from \"antd/es/upload/interface\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { exportExcel } from \"../../Helper/ExportExcel\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { TiExport, TiExportOutline } from \"react-icons/ti\";\r\nimport { AiOutlineExport } from \"react-icons/ai\";\r\n\r\nconst TimeStampScreen = () => {\r\n const toast = useRef(null);\r\n const [dataList, setDataList] = useState([]);\r\n const [isLoadTable, setIsLoadTable] = useState(false);\r\n const [paginationOption, setPaginationOption] = useState({\r\n PageNumber: 1,\r\n PageSize: 10,\r\n });\r\n const [timeStampRequest, setTimeStampRequest] = useState({\r\n SearchDateTimeFrom: moment(new Date()).format(\"YYYY-MM-DD\") + \" 00:00:00\",\r\n SearchDateTimeTo: moment(new Date()).format(\"YYYY-MM-DD\") + \" 23:59:59\",\r\n Paging: {\r\n PageNumber: 1,\r\n PageSize: 10,\r\n },\r\n });\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [fileSelected, setFileSelected] = useState();\r\n const [uploading, setUploading] = useState(false);\r\n const [exporting, setExporting] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n setError,\r\n getValues,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n defaultValues: timeStampRequest,\r\n });\r\n\r\n const onPageChange = (paginationValue: IPaging) => {\r\n fecthTimeStamp(timeStampRequest, paginationValue);\r\n };\r\n\r\n const fecthTimeStamp = async (\r\n timeStampRequest: ITimeStampRequest,\r\n _paginationOption?: IPaging\r\n ) => {\r\n setIsLoadTable(true);\r\n if (_paginationOption) {\r\n timeStampRequest.Paging = _paginationOption;\r\n }\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n // if (res.Paging) {\r\n // timeStampRequest?.Paging = _paginationOption;\r\n let value: IPaging = {\r\n PageNumber: res.Paging.PageNumber,\r\n PageSize: res.Paging.PageSize,\r\n PageCount: res.Paging.PageCount,\r\n RecordCount: res.Paging.RecordCount,\r\n };\r\n\r\n setPaginationOption(value);\r\n // }\r\n setDataList(JSON.parse(res.Data));\r\n } else {\r\n setDataList(JSON.parse(res.Data));\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n moment(timeStampRequest.SearchDateTimeFrom).format(\"YYYY-MM-DD\") +\r\n \" ถึง \" +\r\n moment(timeStampRequest.SearchDateTimeTo).format(\"YYYY-MM-DD\") +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setIsLoadTable(false);\r\n };\r\n\r\n const fecthExportTimeStamp = async (timeStampRequest: ITimeStampRequest) => {\r\n setExporting(true);\r\n const res: ITimeStampRespone = await ExportTimeStamp(timeStampRequest);\r\n if (res?.Data && res.Data !== \"[]\") {\r\n exportExcel(\"TimeStamp \", JSON.parse(res.Data));\r\n } else {\r\n toggleAlert({\r\n description:\r\n \"ข้อมูลในช่วง \" +\r\n timeStampRequest.SearchDateTimeFrom +\r\n \" ถึง \" +\r\n timeStampRequest.SearchDateTimeTo +\r\n \" ไม่มีข้อมูล\",\r\n message: `Alert`,\r\n type: \"error\",\r\n });\r\n }\r\n setExporting(false);\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\r\n
\r\n );\r\n };\r\n\r\n const onSubmit = (data: ITimeStampRequest) => {\r\n setTimeStampRequest(data);\r\n if (action === \"get\") {\r\n fecthTimeStamp(data);\r\n } else {\r\n fecthExportTimeStamp(data);\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n if (name === \"SearchDateTimeFrom\") {\r\n return (\r\n errors.SearchDateTimeFrom && (\r\n {errors.SearchDateTimeFrom.message}\r\n )\r\n );\r\n } else {\r\n return (\r\n errors.SearchDateTimeTo && (\r\n {errors.SearchDateTimeTo.message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n const filterComponent = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = \"\";\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeFrom\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let val: any = null;\r\n if (value) {\r\n val = value.format(\"YYYY-MM-DD\") + \" 00:00:00\";\r\n } else {\r\n val = null;\r\n }\r\n field.onChange(val);\r\n }}\r\n allowClear\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"SearchDateTimeTo\")}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"get\");\r\n }}\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n backgroundColor: \"#282F6A\",\r\n color: \"#FFFFFF\",\r\n fontSize: \"13px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setDialogVisible(true);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n {\r\n setAction(\"export\");\r\n }}\r\n loading={exporting}\r\n icon=\"pi pi-file-excel\"\r\n label=\"Export File\"\r\n type={\"submit\"}\r\n style={{\r\n height: \"38px\",\r\n background: \"#28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n const handleUpload = async (e: any) => {\r\n if (e.target.files[0].type === \"text/plain\") {\r\n const formData = new FormData();\r\n formData.append(\"File\", e.target.files[0]);\r\n setFileSelected(formData);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n panelTemplate(option, \"Filter\")}\r\n toggleable\r\n >\r\n {filterComponent()}\r\n \r\n \r\n panelTemplate(option, \"Time Stamp\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n <>\r\n {\r\n console.log(\"table=>total\", total, ranges);\r\n return

Total Record: {total}

;\r\n },\r\n // onChange: (page, pageSize) => {\r\n // let value: IPaging = paginationOption;\r\n // value.PageNumber = page;\r\n // value.PageSize = pageSize;\r\n // onPageChange(value);\r\n // },\r\n }}\r\n onPageChange={onPageChange}\r\n />\r\n \r\n \r\n
\r\n {\r\n setDialogVisible(false);\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n if (fileSelected) {\r\n setUploading(true);\r\n const res = await UploadTimeStamp(fileSelected);\r\n if (res) {\r\n toggleAlert({\r\n description: `Import file success.`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n }\r\n setUploading(false);\r\n setDialogVisible(false);\r\n }\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n width: 110,\r\n }}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TimeStampScreen;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\ntype Props = {\r\n uri: string;\r\n};\r\nconst MSDocRenderer = (props: Props) => {\r\n if (!props.uri) return null;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MSDocRenderer;\r\n\r\nconst MSDocFTMaps = {\r\n doc: [\"doc\", \"application/msword\"],\r\n docx: [\r\n \"docx\",\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \"application/octet-stream\",\r\n ],\r\n xls: [\"xls\", \"application/vnd.ms-excel\"],\r\n xlsx: [\r\n \"xlsx\",\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n ],\r\n ppt: [\"ppt\", \"application/vnd.ms-powerpoint\"],\r\n pptx: [\r\n \"pptx\",\r\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n ],\r\n};\r\n\r\nMSDocRenderer.fileTypes = [\r\n ...MSDocFTMaps.doc,\r\n ...MSDocFTMaps.docx,\r\n ...MSDocFTMaps.xls,\r\n ...MSDocFTMaps.xlsx,\r\n ...MSDocFTMaps.ppt,\r\n ...MSDocFTMaps.pptx,\r\n];\r\nMSDocRenderer.weight = 0;\r\n// MSDocRenderer.fileLoader = (props.uri) => fileLoaderComplete();\r\n\r\nconst Container = styled.div`\r\n width: 100%;\r\n`;\r\nconst IFrame = styled.iframe`\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n`;\r\n","/**\r\n * PDFPreviewComponent\r\n * component ที่ใช้ preview PDF file ที่ไม่ใช่ iframe\r\n * โดย PDF จะถูกอ่านด้วน lib PDF.JS ของ Mozilla\r\n * แล้วทำการวาดลง Canvas พร้อมป้องกันคลิกขวา (context menu)\r\n */\r\n\r\nimport React, { ReactElement, useEffect, useState } from \"react\";\r\nimport \"./PDFPreviewComponent.css\";\r\nimport { PDFDocumentProxy } from \"pdfjs-dist\";\r\n\r\nexport function PDFPreviewComponent(props: { src: string }) {\r\n const [element, setElement] = useState([]);\r\n const pdfjs = (window as any).pdfjsLib;\r\n useEffect(() => {\r\n let loadingTask = pdfjs.getDocument(props.src);\r\n loadingTask.promise.then(function (pdf: any) {\r\n let pv: ReactElement[] = [];\r\n for (let i = 1; i <= pdf.numPages; i++) {\r\n pv.push(\r\n
\r\n renderPage(node, pdf, i)}\r\n role=\"presentation\"\r\n >\r\n
\r\n );\r\n }\r\n setElement(pv);\r\n });\r\n }, []);\r\n function renderPage(\r\n canvas: HTMLCanvasElement | null,\r\n pdf: PDFDocumentProxy,\r\n pageNum: number\r\n ) {\r\n if (canvas == null) {\r\n return;\r\n }\r\n\r\n pdf.getPage(pageNum).then(\r\n (page) => {\r\n const scale = 1.5;\r\n let viewport = page.getViewport({ scale: scale * 2 });\r\n\r\n // Support HiDPI-screens.\r\n const outputScale = window.devicePixelRatio || 1;\r\n canvas.width = Math.floor(viewport.width * outputScale);\r\n canvas.height = Math.floor(viewport.height * outputScale);\r\n canvas.style.width = Math.floor(viewport.width / 2) + \"px\";\r\n canvas.style.height = Math.floor(viewport.height / 2) + \"px\";\r\n\r\n let context = canvas.getContext(\"2d\");\r\n\r\n let transform =\r\n outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null;\r\n\r\n let renderContext = {\r\n intent: \"print\",\r\n canvasContext: context,\r\n transform: transform,\r\n viewport: viewport,\r\n };\r\n let renderTask = page.render(renderContext as any);\r\n renderTask.promise.then(\r\n () => {},\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n },\r\n (reason) => {\r\n console.error(reason);\r\n }\r\n );\r\n }\r\n\r\n function disableContextMenu(e: React.MouseEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {element}\r\n
\r\n \r\n );\r\n}\r\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MSDocRenderer from \"../../utils/plugins/msdoc\";\r\n\r\nimport \"./index.css\";\r\nimport { PDFPreviewComponent } from \"../../components/PDFPreviewComponent/PDFPreviewComponent\";\r\ntype Props = {};\r\n\r\nconst PreviewAttachmentScreen: FC = ({}) => {\r\n const [selectedDoc, setSelectedDoc] = useState();\r\n const [fileExt, setFileExt] = useState<\"image\" | \"pdf\" | \"ms\">();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n var _localStorage = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const imageType = [\r\n \"jpg\",\r\n \"jpeg\",\r\n \"jfif\",\r\n \"pjpeg\",\r\n \"pjp\",\r\n \"gif\",\r\n \"png\",\r\n \"svg\",\r\n \"sharepoint\",\r\n ];\r\n const pdfType = [\"pdf\", \"txt\"];\r\n const msType = [\"doc\", \"docx\", \"csv\", \"xls\", \"xlsx\", \"pot\", \"potx\", \"pptx\"];\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n checkQuery();\r\n }, [query]);\r\n useEffect(() => {\r\n // const iframEl = document.getElementById(\"iframePdf\");\r\n // if (iframEl) {\r\n // console.log({ iframEl });\r\n // iframEl.addEventListener(\"contextmenu \", function () {\r\n // console.log(\"Right Click\");\r\n // return false;\r\n // });\r\n // }\r\n // document.addEventListener(\"contextmenu\", (event) => event.preventDefault());\r\n }, []);\r\n\r\n const checkQuery = async () => {\r\n let rootPath: string | null = null;\r\n let docPath: string | null = null;\r\n let fileName: string | null = null;\r\n let ext: string | null = null;\r\n const protocol = window.location.protocol;\r\n const _tinyURL = _localStorage.TinyURL;\r\n\r\n let link = \"\";\r\n if (query.get(\"rootPath\")) {\r\n rootPath = query.get(\"rootPath\");\r\n }\r\n if (query.get(\"docPath\")) {\r\n docPath = query.get(\"docPath\");\r\n }\r\n if (query.get(\"name\")) {\r\n fileName = query.get(\"name\");\r\n }\r\n if (query.get(\"ext\")) {\r\n ext = query.get(\"ext\");\r\n }\r\n console.log(\"link=>\", { ext });\r\n\r\n if (rootPath && docPath && fileName && ext) {\r\n link = \"\";\r\n if (_sharepointSiteURL) {\r\n link = `${_sharepointSiteURL}/${fileName}.${ext}`;\r\n } else {\r\n link = `${protocol}//${_tinyURL}/${rootPath}/${docPath}/${fileName}.${ext}`;\r\n }\r\n console.log({ link });\r\n getTypeOfFile(ext.toLowerCase());\r\n setSelectedDoc(link);\r\n }\r\n };\r\n const getTypeOfFile = (ext: string) => {\r\n const _imageType = imageType.includes(ext);\r\n const _pdfType = pdfType.includes(ext);\r\n const _msType = msType.includes(ext);\r\n\r\n if (_imageType) {\r\n setFileExt(\"image\");\r\n } else if (_pdfType) {\r\n setFileExt(\"pdf\");\r\n } else if (_msType) {\r\n setFileExt(\"ms\");\r\n }\r\n console.log({ _imageType, _pdfType, _msType });\r\n };\r\n return (\r\n \r\n
\r\n \r\n {/*

PreviewAttachmentScreen

*/}\r\n {selectedDoc && fileExt?.toLowerCase() === \"ms\" && (\r\n <>\r\n
\r\n \r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"pdf\" && (\r\n <>\r\n \r\n \r\n )}\r\n {selectedDoc && fileExt === \"image\" && (\r\n <>\r\n \r\n\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PreviewAttachmentScreen;\r\n","export default __webpack_public_path__ + \"static/media/correct.0e163e83.png\";","import React, { useEffect } from \"react\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport \"./RequestActionMemo.css\";\r\nimport correct from \"./../../assets/correct.png\";\r\ntype Props = {\r\n PathLogo: any;\r\n};\r\n\r\nfunction RequestActionMemo(props: Props) {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n \"img\"\r\n \"img\"\r\n history.push(\"/Default\")}\r\n >\r\n go to worklist\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RequestActionMemo;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst RejectBrowser = (props: Props) => {\r\n const [browserConfig] = useState(\r\n JSON.parse(localStorage.getItem(\"mstDatabrowserConfig\") || \"[]\")\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Access denied!

\r\n {browserConfig.messages.map((x: any) => (\r\n

{x}

\r\n ))}\r\n {/*

\r\n Browser NOT support this application. Please chooose{\" \"}\r\n \r\n

*/}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RejectBrowser;\r\n","import { Col, ConfigProvider, Row, Table } from \"antd\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport dayjs from \"dayjs\";\r\nimport { ColumnsType } from \"antd/es/table\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./BudgetTrackingScreen.css\";\r\n\r\nconst Type = {\r\n BUDGET: \"BUDGET\",\r\n PR: \"PR\",\r\n PO: \"PO\",\r\n PV: \"PV\",\r\n GR: \"GR\",\r\n} as const;\r\n\r\nfunction renderDescription(value: any, record: any) {\r\n let val = record.memoId ? (\r\n \r\n {value}\r\n \r\n ) : (\r\n value\r\n );\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n return {val};\r\n case Type.PR:\r\n return {val};\r\n case Type.PV:\r\n return {val};\r\n case Type.GR:\r\n return {val};\r\n default:\r\n return val;\r\n }\r\n}\r\n\r\nfunction renderNumber(value: number, record: any, index: number, options: any) {\r\n let val = value ? value.toLocaleString() : \"-\";\r\n let view = null;\r\n let color = \"#282f6a\";\r\n if (options.col == \"remaining\") {\r\n let prefix = options.prefix;\r\n let alloc = record[`${prefix}_alloc`];\r\n let remain = record[`${prefix}_remaining`];\r\n if (alloc && remain) {\r\n let percentage = remain / alloc;\r\n if (percentage < 0.1) {\r\n color = \"#f00\";\r\n } else if (percentage < 0.2) {\r\n color = \"#f80\";\r\n }\r\n }\r\n }\r\n switch (record.type) {\r\n case Type.BUDGET:\r\n view = {val};\r\n break;\r\n case Type.PR:\r\n view = {val};\r\n break;\r\n case Type.PV:\r\n view = {val};\r\n break;\r\n default:\r\n view = val;\r\n }\r\n return
{view}
;\r\n}\r\n\r\nfunction genBudgetColumn(prefix = \"\", options = {}) {\r\n const budgetColumn: ColumnsType = [\r\n {\r\n title: \"ALLOCATE\",\r\n dataIndex: `${prefix}_alloc`,\r\n key: `${prefix}_alloc`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"alloc\" }),\r\n },\r\n {\r\n title: \"RESERVED\",\r\n dataIndex: `${prefix}_reserve`,\r\n key: `${prefix}_reserve`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"col\" }),\r\n },\r\n {\r\n title: \"USED\",\r\n dataIndex: `${prefix}_used`,\r\n key: `${prefix}_used`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"used\" }),\r\n },\r\n {\r\n title: \"PAID\",\r\n dataIndex: `${prefix}_paid`,\r\n key: `${prefix}_paid`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, { prefix: prefix, col: \"paid\" }),\r\n },\r\n {\r\n title: \"REMAINING\",\r\n dataIndex: `${prefix}_remaining`,\r\n key: `${prefix}_remaining`,\r\n ...options,\r\n render: (value, record, index) =>\r\n renderNumber(value, record, index, {\r\n prefix: prefix,\r\n col: \"remaining\",\r\n }),\r\n },\r\n ];\r\n return budgetColumn;\r\n}\r\n\r\nfunction BudgetSummary() {\r\n const columns: ColumnsType = [\r\n {\r\n title: \"Description\",\r\n dataIndex: \"desc\",\r\n key: \"desc\",\r\n fixed: \"left\",\r\n width: 300,\r\n render: (value, record, index) => renderDescription(value, record),\r\n },\r\n {\r\n title: \"Summary\",\r\n children: genBudgetColumn(\"summary\", { fixed: \"left\" }),\r\n fixed: \"left\",\r\n },\r\n ...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((m) => {\r\n let day = dayjs().month(m);\r\n return {\r\n title: day.format(\"MMM-YY\"),\r\n key: m,\r\n children: genBudgetColumn(day.format(\"MMM\").toLocaleLowerCase()),\r\n };\r\n }),\r\n ];\r\n\r\n const [data, dataSet] = useState([]);\r\n\r\n useEffect(() => {\r\n fetch(\"budget-summary.json\")\r\n .then((r) => r.json())\r\n .then((r) => {\r\n dataSet(r.data);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n );\r\n}\r\n\r\nexport default BudgetSummary;\r\n","import { Row, Col, Table, Button } from \"antd\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport React, { Fragment, useEffect, useState } from \"react\";\r\nimport { PlusOutlined, GlobalOutlined, CheckOutlined } from \"@ant-design/icons\";\r\nimport { Link } from \"react-router-dom\";\r\nimport \"./style.css\";\r\n\r\nenum PublishStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n PUBLISH_ON_WEB = 2,\r\n SKIP = 99,\r\n}\r\nenum TrackStatus {\r\n NONE = -1,\r\n BLANK = 0,\r\n WAIT_FOR_APPROVE = 1,\r\n COMPLETED = 2,\r\n}\r\n\r\nexport const ProcurementTracking = () => {\r\n function renderPublish(value: any = { status: -1 }) {\r\n let display = <>;\r\n switch (value.status) {\r\n case PublishStatus.BLANK:\r\n display = (\r\n \r\n