{"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","valid","useAlert","setRow","statusFunction","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","validVal","_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","_useAlert","fileInputRef","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","refDocOptions","setRefDocOptions","selectedData","setSelectedData","refTableColumn","setRefTableColumn","tableFooter","setTableFooter","setValid","exportFile","setExportFile","loadFile","setLoadFile","enabledpopupdefdoc","fetchRefDocFormTable","validValFunction","val1","val2","template_code","Value1","Value2","getLabel","Value4","label1","label2","statusRow","validOBJ","Value5","handleDelete","validValDel","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","changeObj","_footer$value","_eval","_eval2","_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$attr3","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","Value3","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","backgroundSize","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","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","imgSize","contain","cover","imgUrl","uploadButton","LoadingOutlined","PlusOutlined","Upload","listType","beforeUpload","isImage","showUploadList","uploadedFile","originFileObj","DropableComponent","paperWidth","rowHeight","tableDisplay","keyCode","renderContent","_layout$template$attr7","_layout$template$attr8","_layout$template$attr9","_layout$template$attr10","_layout$template2","_layout$template2$att","isStaticText","isSelected","_layout$template$attr4","_layout$template$attr5","_layout$template$attr6","childrenLayout","_layout$template3","_layout$template$attr11","_layout$template$attr12","_layout$template$attr13","_layout$template$attr14","_layout$template$attr15","_layout$template$attr16","_layout$template$attr17","_layout$template$attr18","_layout$template$attr19","_layout$template$attr20","isPortrait","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","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","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","isSkipapm","setIsSkipapm","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","setMasterDLAttach","setFinFo","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","_useState85","_useState86","setMasterCompanies","_useState87","_useState88","setTemplateListVersion","_useState89","_useState90","_useState91","_useState92","setIsTemplateVersion","_useState93","_useState94","_useState95","_useState96","_useState97","_useState98","_useState99","_useState100","loadingPDF","setLoadingPDF","_useState101","_useState102","setIsShowPdf","_useState103","_useState104","setIsShowSum","_useState105","_useState106","setPermission","_useState107","_useState108","masterDataValidField","setMasterDataValidField","_useState109","_useState110","setMessageValidField","_useState111","_useState112","setDuration","_useState113","_useState114","_useState115","_useState116","masterDataValidVal","setMasterDataValidVal","_useState117","_useState118","_useState119","_useState120","skipapm","setSkipapm","_useState121","_useState122","requestActionMemo","setRequestActionMemo","_useState123","_useState124","checkRequestActionMemo","setCheckRequestActionMemo","_useState125","_useState126","_useState127","_useState128","_useState129","_useState130","_useState131","_useState132","previousAmount","_useState133","_useState134","_useState135","_useState136","setFocus","_useState137","_useState138","_useState139","_useState140","_useState141","_useState142","_useState143","_useState144","setIsADTitleToPosition","_useState145","_useState146","_useState147","_useState148","_useState149","_useState150","_useState151","_useState152","_useState153","_useState154","setEdFont","_masterData$find$Valu","projects","temCodes","_e$MasterType","_useState155","_useState156","setDefault","_useState157","_useState158","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.3aadfca3.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, set, 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 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 valid,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const [row, setRow] = useState();\r\n\r\n useEffect(() => {\r\n if (valid) {\r\n statusFunction();\r\n }\r\n }, [valid]);\r\n\r\n const statusFunction = () => {\r\n if (valid) {\r\n for (let i = 0; i < valid.length; i++) {\r\n let status = valid[i];\r\n setRow(status);\r\n if (status[template.label] === true && status.row === rowIdx) {\r\n return \"error\";\r\n }\r\n }\r\n }\r\n };\r\n\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 validVal?: 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 validVal,\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 $ from \"jquery\";\r\nimport { userInfo } from \"os\";\r\nimport useAlert from \"../../../hooks/useAlert\";\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 validVal?: any[];\r\n valid?: 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 valid: any;\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 valid,\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 console.log(\"tableComponent\", valid);\r\n\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\r\n validVal?: any[];\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 validVal,\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 { toggleAlert } = useAlert();\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 [valid, setValid] = useState();\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 validValFunction = (row: any) => {\r\n try {\r\n let val1: string;\r\n let val2: string;\r\n if (validVal) {\r\n validVal?.forEach((e: any) => {\r\n if (memoDetail.template_code === e.Value1) {\r\n if (\r\n layout.template.type === \"tb\" &&\r\n layout.template.label === e.Value2\r\n ) {\r\n let getLabel = e.Value4.split(\"|\");\r\n const label1 = getLabel[0].toString();\r\n const label2 = getLabel[1].toString();\r\n layout.template.attribute.column.forEach((col: any) => {\r\n if (col.label === label1) {\r\n val1 = label1;\r\n } else if (col.label === label2) {\r\n val2 = label2;\r\n }\r\n });\r\n if (row) {\r\n let statusRow: any[] = [];\r\n row.map((data: any) => {\r\n if (\r\n parseInt(data[val2]) > parseInt(data[val1])\r\n ? parseInt(data[val1])\r\n : 0\r\n ) {\r\n let validOBJ: any = {};\r\n validOBJ[val2] = true;\r\n validOBJ[val1] = true;\r\n validOBJ.row = data.key;\r\n\r\n statusRow.push(validOBJ);\r\n setValid(statusRow);\r\n toggleAlert({\r\n description: `${e.Value5}`,\r\n message: `Required ${e.Value2} row: ${data.key + 1}`,\r\n type: \"error\",\r\n duration: 3,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"validValError=>\", error);\r\n }\r\n };\r\n\r\n const handleDelete = (key: React.Key) => {\r\n if (valid && valid.length > 0) {\r\n let validValDel = valid.filter((item: any) => item.row !== key);\r\n setValid(validValDel);\r\n }\r\n const newData = _data.filter((item: any) => item.key !== key);\r\n if (newData.length === 0) {\r\n summaryFunc();\r\n }\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 validValFunction(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 valid,\r\n setTableOptions,\r\n }),\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 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 validVal?: 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 validVal,\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\" | \"fill\";\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 backgroundSize: \"contain\",\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 validVal?: 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 validVal,\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 const [isSkipapm, setIsSkipapm] = useState(false);\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 const [masterDataValidVal, setMasterDataValidVal] = useState([]);\r\n const [validValData, setValidValData] = useState();\r\n const [skipapm, setSkipapm] = 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 setMasterDataValidVal([\r\n ...masterData.filter((e: any) => {\r\n return e.MasterType === \"ValidVal\" && e.IsActive === true;\r\n }),\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 const temCodes: string[] =\r\n masterData\r\n .find((e: any) => e.MasterType?.toLowerCase() === \"skipapm\")\r\n ?.Value1?.split(\"|\") || [];\r\n\r\n setSkipapm([...temCodes]);\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\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 if (isSkipapm) {\r\n return;\r\n }\r\n // testty\r\n if (amount !== undefined || amount === 0 || amount === \"\") {\r\n setPrevAmount(amount);\r\n }\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 (isSkipapm) {\r\n return;\r\n }\r\n\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 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 //Skipapm\r\n if (skipapm.length > 0) {\r\n setIsSkipapm(skipapm.some((e) => e === listFormName?.DocumentCode));\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 // function CheckValidVal() {\r\n // try {\r\n // if (e.Value3 === \"tb\"){\r\n // masterDataValidVal.forEach((e: any) => {})\r\n // }\r\n\r\n // } catch (error) {\r\n // console.log(\"masterDataValidVal=>error\", error);\r\n // }\r\n // }\r\n // function CheckValidVal(formData: any) {\r\n // let getCheckValid: any[] = [];\r\n // let valid: any[] = [];\r\n // let validObj = {};\r\n // let val1: any;\r\n // let val2: any;\r\n // let validObjTb = {};\r\n // try {\r\n // console.log(\"masterDataValidVal\", masterDataValidVal);\r\n // masterDataValidVal.forEach((e: any) => {\r\n // if (memoDetail.template_code === e.Value1) {\r\n // if (e.Value3 === \"c\") {\r\n // let getLabel = e.Value4.split(\"|\");\r\n // const label1 = getLabel[0].toString();\r\n // const label2 = getLabel[1].toString();\r\n // formData.items.forEach((item: any) => {\r\n // item.layout.forEach((layout: any) => {\r\n // if (layout.template.type === \"c\") {\r\n // if (label1 === layout.template.label) {\r\n // val1 = layout.data.value;\r\n // getCheckValid.push(layout);\r\n // } else if (label2 === layout.template.label) {\r\n // val2 = layout.data.value;\r\n // getCheckValid.push(layout);\r\n // }\r\n // }\r\n // });\r\n // });\r\n // validObj = {\r\n // value1: parseInt(val1),\r\n // value2: parseInt(val2),\r\n // message: e.Value5,\r\n // };\r\n\r\n // valid.push(validObj);\r\n // } else if (e.Value3 === \"tb\") {\r\n // let getLabel = e.Value4.split(\"|\");\r\n // const label1 = getLabel[0].toString();\r\n // const label2 = getLabel[1].toString();\r\n // let arr: any[] = [];\r\n // formData.items.map((item: any) => {\r\n // item.layout.map((layout: any) => {\r\n // if (layout.template.type === \"tb\") {\r\n // console.log(\"unique=>_layout\", layout);\r\n\r\n // layout.template.attribute.column.map((col: any) => {\r\n // if (label1 === col.label || label2 === col.label) {\r\n // for (let i = 0; i < layout.data.row.length; i++) {\r\n // let row = layout.data.row[i];\r\n // arr.push({\r\n // value1: row[0].value,\r\n // value2: row[1].value,\r\n // message: e.Value5,\r\n // });\r\n // }\r\n // }\r\n // });\r\n // }\r\n // });\r\n // });\r\n // const unique = [...new Map(arr.map((e) => [e.value1, e])).values()];\r\n // console.log(\"unique=>\", unique);\r\n // unique.map((e: any, index: any) => {\r\n // validObjTb = {\r\n // value1: parseInt(e.value1),\r\n // value2: parseInt(e.value2),\r\n // message: e.message,\r\n // row: index,\r\n // };\r\n // valid.push(validObjTb);\r\n // });\r\n // }\r\n // }\r\n // });\r\n // } catch (error) {\r\n // console.log(\"masterDataValidVal=>error\", error);\r\n // }\r\n // return valid;\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 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 validVal: any = CheckValidVal(formData);\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\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 (validVal !== null && validVal !== undefined) {\r\n // let arr: any[] = [];\r\n // const filtered = validVal.filter((e: any) => e.hasOwnProperty(\"row\"));\r\n // filtered.forEach((e: any) => {\r\n // console.log(\"e.row=>all\", e);\r\n // if (e.value2 > e.value1) {\r\n // arr.push(e);\r\n // setValidValData(arr);\r\n // }\r\n // });\r\n // setValidValData(arr);\r\n // }\r\n\r\n // console.log(\"validVal\", validVal);\r\n // CheckValidVal(formData);\r\n // console.log(\"_validation\", _validation);\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 // CheckValidVal(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 validVal={masterDataValidVal}\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